mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 12:48:22 +00:00
socket: getname, getpeername, setopt
This commit is contained in:
@@ -92,6 +92,7 @@ typedef struct {
|
||||
|
||||
#define SO_BROADCAST 6
|
||||
#define SO_BINDTODEVICE 25
|
||||
#define SO_KEEPALIVE 9
|
||||
|
||||
#define SOL_SOCKET 1
|
||||
|
||||
|
||||
@@ -37,8 +37,11 @@ typedef struct socketops_t {
|
||||
int (*connect)(socket_t *socket, sockaddr_t *addr, uintmax_t data);
|
||||
int (*listen)(socket_t *socket, int backlog);
|
||||
int (*accept)(socket_t *server, socket_t *client, sockaddr_t *addr, uintmax_t flags);
|
||||
int (*getname)(socket_t *socket, sockaddr_t *addr);
|
||||
int (*getpeername)(socket_t *socket, sockaddr_t *addr);
|
||||
size_t (*datacount)(socket_t *socket);
|
||||
void (*destroy)(socket_t *socket);
|
||||
int (*setopt)(socket_t *socket, int optname, void *buffer, size_t len);
|
||||
} socketops_t;
|
||||
|
||||
typedef struct {
|
||||
@@ -117,6 +120,7 @@ static inline void sock_freemsghdr(msghdr_t *hdr) {
|
||||
}
|
||||
|
||||
void localsock_leavebinding(vnode_t *vnode);
|
||||
int localsock_pair(socket_t **ret1, socket_t **ret2);
|
||||
socket_t *localsock_createsocket();
|
||||
socket_t *udp_createsocket();
|
||||
socket_t *tcp_createsocket();
|
||||
|
||||
Reference in New Issue
Block a user