consolidate all RECV/SEND ioctls into a single RECEIVE/SEND pair
- changed the socket module to use thew new RECEIVE/SEND in all forms of recv() and send() - changed libnetwork to use the new RECEIVE/SEND - remove transfer_args processing from strace since the structure was removed git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20581 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -89,14 +89,10 @@ struct net_socket_module_info {
|
||||
int (*getsockopt)(net_socket *socket, int level, int option,
|
||||
void *optionValue, int *_optionLength);
|
||||
int (*listen)(net_socket *socket, int backlog);
|
||||
ssize_t (*recv)(net_socket *socket, void *data, size_t length, int flags);
|
||||
ssize_t (*recvfrom)(net_socket *socket, void *data, size_t length, int flags,
|
||||
struct sockaddr *address, socklen_t *_addressLength);
|
||||
ssize_t (*recvmsg)(net_socket *socket, msghdr *header, int flags);
|
||||
ssize_t (*send)(net_socket *socket, const void *data, size_t length, int flags);
|
||||
ssize_t (*sendto)(net_socket *socket, const void *data, size_t length,
|
||||
int flags, const struct sockaddr *address, socklen_t addressLength);
|
||||
ssize_t (*sendmsg)(net_socket *socket, msghdr *header, int flags);
|
||||
ssize_t (*receive)(net_socket *socket, struct msghdr *, void *data,
|
||||
size_t length, int flags);
|
||||
ssize_t (*send)(net_socket *socket, struct msghdr *, const void *data,
|
||||
size_t length, int flags);
|
||||
int (*setsockopt)(net_socket *socket, int level, int option,
|
||||
const void *optionValue, int optionLength);
|
||||
int (*shutdown)(net_socket *socket, int direction);
|
||||
|
||||
@@ -29,12 +29,8 @@ enum {
|
||||
|
||||
// ops acting on an existing socket
|
||||
NET_STACK_BIND, // sockaddr_args *
|
||||
NET_STACK_RECVFROM, // struct msghdr *
|
||||
NET_STACK_RECV, // transfer_args *
|
||||
NET_STACK_RECVMSG, // msghdr_args *
|
||||
NET_STACK_SENDTO, // struct msghdr *
|
||||
NET_STACK_SEND, // transfer_args *
|
||||
NET_STACK_SENDMSG, // msghdr_args *
|
||||
NET_STACK_RECEIVE, // message_args *
|
||||
NET_STACK_SEND, // message_args *
|
||||
NET_STACK_LISTEN, // int_args * (value = backlog)
|
||||
NET_STACK_ACCEPT, // sockaddr_args *
|
||||
NET_STACK_CONNECT, // sockaddr_args *
|
||||
@@ -62,16 +58,10 @@ struct sockopt_args { // used by NET_STACK_SETSOCKOPT/_GETSOCKOPT
|
||||
int length;
|
||||
};
|
||||
|
||||
struct transfer_args { // used by NET_STACK_SEND/_RECV
|
||||
void *data;
|
||||
size_t data_length;
|
||||
int flags;
|
||||
struct sockaddr *address; // only used for recvfrom() and sendto()
|
||||
socklen_t address_length; // ""
|
||||
};
|
||||
|
||||
struct msghdr_args {
|
||||
struct message_args {
|
||||
struct msghdr *header;
|
||||
void *data;
|
||||
size_t length;
|
||||
int flags;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user