summaryrefslogtreecommitdiffstats
path: root/include/net/sock.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-09-12 01:29:55 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-09-12 01:29:55 +0000
commit545f435ebcfd94a1e7c20b46efe81b4d6ac4e698 (patch)
treee9ce4bc598d06374bda906f18365984bf22a526a /include/net/sock.h
parent4291a610eef89d0d5c69d9a10ee6560e1aa36c74 (diff)
Merge with Linux 2.1.55. More bugfixes and goodies from my private
CVS archive.
Diffstat (limited to 'include/net/sock.h')
-rw-r--r--include/net/sock.h46
1 files changed, 40 insertions, 6 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index a6035bd57..1e40d3a2d 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -23,6 +23,7 @@
* Pauline Middelink : identd support
* Alan Cox : Eliminate low level recv/recvfrom
* David S. Miller : New socket lookup architecture.
+ * Steve Whitehouse: Default routines for sock_ops
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -88,7 +89,7 @@ struct unix_opt
char * name;
int locks;
struct unix_address *addr;
- struct inode * inode;
+ struct dentry * dentry;
struct semaphore readsem;
struct sock * other;
struct sock ** list;
@@ -281,6 +282,8 @@ struct tcp_opt
struct open_request *syn_wait_queue;
struct open_request **syn_wait_last;
+ int syn_backlog;
+
struct tcp_func *af_specific;
};
@@ -430,8 +433,8 @@ struct sock
'timed out' */
unsigned char protocol;
volatile unsigned char state;
- unsigned char ack_backlog;
- unsigned char max_ack_backlog;
+ unsigned short ack_backlog;
+ unsigned short max_ack_backlog;
unsigned char priority;
unsigned char debug;
int rcvbuf;
@@ -734,7 +737,7 @@ static __inline__ int max(unsigned int a, unsigned int b)
return a;
}
-extern struct sock * sk_alloc(int priority);
+extern struct sock * sk_alloc(int family, int priority);
extern void sk_free(struct sock *sk);
extern void destroy_sock(struct sock *sk);
@@ -762,12 +765,42 @@ extern struct sk_buff *sock_alloc_send_skb(struct sock *sk,
int noblock,
int *errcode);
-extern int sock_no_fcntl(struct socket *, unsigned int, unsigned long);
+/*
+ * Functions to fill in entries in struct proto_ops when a protocol
+ * does not implement a particular function.
+ */
+extern int sock_no_dup(struct socket *, struct socket *);
+extern int sock_no_release(struct socket *,
+ struct socket *);
+extern int sock_no_bind(struct socket *,
+ struct sockaddr *, int);
+extern int sock_no_connect(struct socket *,
+ struct sockaddr *, int, int);
+extern int sock_no_socketpair(struct socket *,
+ struct socket *);
+extern int sock_no_accept(struct socket *,
+ struct socket *, int);
+extern int sock_no_getname(struct socket *,
+ struct sockaddr *, int *, int);
+extern unsigned int sock_no_poll(struct socket *,
+ poll_table *);
+extern int sock_no_ioctl(struct socket *, unsigned int,
+ unsigned long);
+extern int sock_no_listen(struct socket *, int);
+extern int sock_no_shutdown(struct socket *, int);
extern int sock_no_getsockopt(struct socket *, int , int,
char *, int *);
extern int sock_no_setsockopt(struct socket *, int, int,
char *, int);
-extern int sock_no_listen(struct socket *, int);
+extern int sock_no_fcntl(struct socket *,
+ unsigned int, unsigned long);
+extern int sock_no_sendmsg(struct socket *,
+ struct msghdr *, int,
+ struct scm_cookie *);
+extern int sock_no_recvmsg(struct socket *,
+ struct msghdr *, int,
+ struct scm_cookie *);
+
/*
* Default socket callbacks and setup code
*/
@@ -775,6 +808,7 @@ extern int sock_no_listen(struct socket *, int);
extern void sock_def_callback1(struct sock *);
extern void sock_def_callback2(struct sock *, int);
extern void sock_def_callback3(struct sock *);
+extern void sock_def_destruct(struct sock *);
/* Initialise core socket variables */
extern void sock_init_data(struct socket *sock, struct sock *sk);