1#ifndef _KSOCKET_INTERNAL_H 2 3#define _KSOCKET_INTERNAL_H 4 5#include <OS.h> 6 7struct ks_param_header 8{ 9 port_id port; 10}; 11 12struct ks_reply_header 13{ 14 int error; 15}; 16 17struct ks_socket_param 18{ 19 struct ks_param_header header; 20 int family,type,proto; 21}; 22 23struct ks_socket_reply 24{ 25 struct ks_reply_header header; 26 int result; 27}; 28 29struct ks_bind_param 30{ 31 struct ks_param_header header; 32 int fd; 33 int size; 34 char addr[1]; 35}; 36 37struct ks_bind_reply 38{ 39 struct ks_reply_header header; 40 int result; 41}; 42 43struct ks_getsockname_param 44{ 45 struct ks_param_header header; 46 int fd; 47 int size; 48}; 49 50struct ks_getsockname_reply 51{ 52 struct ks_reply_header header; 53 int result; 54 int size; 55 char addr[1]; 56}; 57 58struct ks_recvfrom_param 59{ 60 struct ks_param_header header; 61 int fd; 62 size_t size; 63 int flags; 64 int fromlen; 65}; 66 67struct ks_recvfrom_reply 68{ 69 struct ks_reply_header header; 70 ssize_t result; 71 int fromlen; 72 char data[1]; 73}; 74 75struct ks_sendto_param 76{ 77 struct ks_param_header header; 78 int fd; 79 size_t size; 80 int flags; 81 int tolen; 82 char data[1]; 83}; 84 85struct ks_sendto_reply 86{ 87 struct ks_reply_header header; 88 ssize_t result; 89}; 90 91struct ks_recv_param 92{ 93 struct ks_param_header header; 94 int fd; 95 size_t size; 96 int flags; 97}; 98 99struct ks_recv_reply 100{ 101 struct ks_reply_header header; 102 ssize_t result; 103 char data[1]; 104}; 105 106struct ks_send_param 107{ 108 struct ks_param_header header; 109 int fd; 110 size_t size; 111 int flags; 112 char data[1]; 113}; 114 115struct ks_send_reply 116{ 117 struct ks_reply_header header; 118 ssize_t result; 119}; 120 121struct ks_listen_param 122{ 123 struct ks_param_header header; 124 int fd,backlog; 125}; 126 127struct ks_listen_reply 128{ 129 struct ks_reply_header header; 130 int result; 131}; 132 133struct ks_closesocket_param 134{ 135 struct ks_param_header header; 136 int fd; 137}; 138 139struct ks_closesocket_reply 140{ 141 struct ks_reply_header header; 142 int result; 143}; 144 145enum 146{ 147 KS_SOCKET, 148 KS_BIND, 149 KS_GETSOCKNAME, 150 KS_GETPEERNAME, 151 KS_CONNECT, 152 KS_ACCEPT, 153 KS_RECVFROM, 154 KS_SENDTO, 155 KS_RECV, 156 KS_SEND, 157 KS_LISTEN, 158 KS_CLOSESOCKET, 159 KS_MESSAGE, 160 KS_QUIT 161}; 162 163#define KSOCKET_DAEMON_NAME "ksocket_daemon" 164#define KSOCKETD_SIGNATURE "application/x-vnd.BareCode-ksocketd" 165 166#endif 167