summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1999-11-08 03:31:01 +0000
committerpeter <peter@FreeBSD.org>1999-11-08 03:31:01 +0000
commitbe8eba35406cc6d689af2b06690b08bea32aec04 (patch)
tree6a96dbe82b04f2d79cde7031792186faa604c790 /sys
parent1a4a3558e504ad97460718691f07aa75332defc7 (diff)
downloadFreeBSD-src-be8eba35406cc6d689af2b06690b08bea32aec04.zip
FreeBSD-src-be8eba35406cc6d689af2b06690b08bea32aec04.tar.gz
Update socket file type for fo_stat(). soo_stat() becomes a fileops
switch entry point rather than being used externally with knowledge of the internals of the DTYPE_SOCKET f_data contents.
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/sys_socket.c10
-rw-r--r--sys/sys/socketvar.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c
index aa892e3..f0f2717 100644
--- a/sys/kern/sys_socket.c
+++ b/sys/kern/sys_socket.c
@@ -50,7 +50,7 @@
#include <net/route.h>
struct fileops socketops =
- { soo_read, soo_write, soo_ioctl, soo_poll, soo_close };
+ { soo_read, soo_write, soo_ioctl, soo_poll, soo_stat, soo_close };
/* ARGSUSED */
int
@@ -155,10 +155,12 @@ soo_poll(fp, events, cred, p)
}
int
-soo_stat(so, ub)
- register struct socket *so;
- register struct stat *ub;
+soo_stat(fp, ub, p)
+ struct file *fp;
+ struct stat *ub;
+ struct proc *p;
{
+ struct socket *so = (struct socket *)fp->f_data;
bzero((caddr_t)ub, sizeof (*ub));
ub->st_mode = S_IFSOCK;
diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h
index 471ddbe..57ddca7 100644
--- a/sys/sys/socketvar.h
+++ b/sys/sys/socketvar.h
@@ -296,7 +296,7 @@ int soo_ioctl __P((struct file *fp, u_long cmd, caddr_t data,
struct proc *p));
int soo_poll __P((struct file *fp, int events, struct ucred *cred,
struct proc *p));
-int soo_stat __P((struct socket *so, struct stat *ub));
+int soo_stat __P((struct file *fp, struct stat *ub, struct proc *p));
/*
* From uipc_socket and friends
OpenPOWER on IntegriCloud