00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef _init_socks_h
00033 #define _init_socks_h
00034 #include <sys/types.h>
00035 #include <sys/un.h>
00036 #include "../../ip_addr.h"
00037
00038 enum socket_protos { UNKNOWN_SOCK=0, UDP_SOCK, TCP_SOCK,
00039 UNIXS_SOCK, UNIXD_SOCK
00040 #ifdef USE_FIFO
00041 , FIFO_SOCK
00042 #endif
00043 };
00044
00045 int init_unix_sock(struct sockaddr_un* su, char* name, int type,
00046 int perm, int uid, int gid);
00047 int init_tcpudp_sock(union sockaddr_union* su, char* address, int port,
00048 enum socket_protos type);
00049 int init_sock_opt(int s, enum socket_protos type);
00050
00051 inline static char* socket_proto_name(enum socket_protos p)
00052 {
00053 switch(p){
00054 case UDP_SOCK:
00055 return "udp";
00056 case TCP_SOCK:
00057 return "tcp";
00058 case UNIXS_SOCK:
00059 return "unix_stream";
00060 case UNIXD_SOCK:
00061 return "unix_dgram";
00062 #ifdef USE_FIFO
00063 case FIFO_SOCK:
00064 return "fifo";
00065 #endif
00066 default:
00067 ;
00068 }
00069 return "<unknown>";
00070 }
00071 #endif