added a socketpair in libsocket.so with corresponding code in the network stack driver and the network stack

socketpair() in the network stack is empty and still to be implemented for real


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14267 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2005-09-28 12:21:42 +00:00
parent b093c5d130
commit 83e02263b7
7 changed files with 65 additions and 1 deletions
+1
View File
@@ -157,6 +157,7 @@ struct core_module_info {
int (*socket_getsockopt) (struct socket *so, int, int, void *, size_t *);
int (*socket_getpeername) (struct socket *so, struct sockaddr *, int *);
int (*socket_getsockname) (struct socket *so, struct sockaddr *, int *);
int (*socket_socketpair) (struct socket *so, struct socket **nso);
int (*socket_set_event_callback)(struct socket *so, socket_event_callback, void *, int);
int (*socket_shutdown) (struct socket *so, int how);
};
+2
View File
@@ -30,6 +30,8 @@ int socket_ioctl (struct socket *so, int cmd, caddr_t data);
int socket_getpeername (struct socket *so, struct sockaddr *, int *);
int socket_getsockname (struct socket *so, struct sockaddr *, int *);
int socket_pair (struct socket *so, struct socket **nso);
int socket_set_event_callback(struct socket *so, socket_event_callback, void *, int);
+6
View File
@@ -37,6 +37,7 @@ enum {
NET_STACK_SETSOCKOPT, // sockopt_args *
NET_STACK_GETSOCKNAME, // sockaddr_args *
NET_STACK_GETPEERNAME, // sockaddr_args *
NET_STACK_SOCKETPAIR, //
NET_STACK_SYSCTL, // sysctl_args *
NET_STACK_SELECT, // select_args *
@@ -79,6 +80,10 @@ struct socket_args { // used by NET_STACK_SOCKET
int proto;
};
struct socketpair_args { // used by NET_STACK_SOCKETPAIR
void *cookie;
};
struct accept_args { // used by NET_STACK_ACCEPT
void *cookie;
struct sockaddr *addr;
@@ -156,6 +161,7 @@ struct stack_driver_args {
struct sysctl_args sysctl;
struct select_args select;
struct control_net_module_args control;
struct socketpair_args socketpair;
} u;
};