00001 #ifndef _SSI_H_ 00002 #define _SSI_H_ 00003 00004 /* 00005 Simple Sockets Interface 00006 */ 00007 00008 #ifdef SOLARIS 00009 #define __EXTENSIONS__ 00010 #endif 00011 #include <sys/socket.h> 00012 #undef __EXTENSIONS__ 00013 /*[SSI]*/ 00014 #define SSI_NAME_SIZE 200 00015 00016 typedef struct { 00017 bool ssi_server; /* server? (vs. client) */ 00018 int ssi_domain; /* AF_INET or AF_UNIX */ 00019 int ssi_fd; /* socket fd */ 00020 char ssi_name_server[SSI_NAME_SIZE]; /* server name */ 00021 fd_set ssi_fd_set; /* set for server's select */ 00022 int ssi_fd_hwm; /* high-water-mark for fds seen */ 00023 } SSI; 00024 /*[]*/ 00025 SSI *ssi_open(const char *name_server, bool server); 00026 bool ssi_close(SSI *ssip); 00027 int ssi_wait_server(SSI *ssip); 00028 int ssi_get_server_fd(SSI *ssip); 00029 bool ssi_close_fd(SSI *ssip, int fd); 00030 #if 0 00031 bool ssi_send(SSI *ssip, void *buf, size_t bufsize/*, SSI_WHO *whop*/); 00032 bool ssi_receive(SSI *ssip, void *buf, size_t bufsize/*, SSI_WHO *whop*/); 00033 #endif 00034 #endif /* _SSI_H_ */