00001 /*------------------------------------------------------------------------------- 00002 * Project: KoreBot Library 00003 * $Author: pbureau $ 00004 * $Date: 2005/01/31 07:34:28 $ 00005 * $Revision: 1.4 $ 00006 * 00007 * 00008 * $Header: /home/cvs/libkorebot/src/kb_socket.h,v 1.4 2005/01/31 07:34:28 pbureau Exp $ 00009 */ 00010 00011 #include <sys/socket.h> /* for socket(), bind(), and connect() */ 00012 #include <arpa/inet.h> /* for sockaddr_in and inet_ntoa() */ 00013 #include <stdlib.h> /* for atoi() and exit() */ 00014 #include <string.h> /* for memset() */ 00015 #include <unistd.h> /* for close() */ 00016 00017 #define MAXPENDING 5 /* Maximum outstanding connection requests */ 00018 00019 /******************************************************************/ 00027 typedef struct ksock_s { 00028 struct sockaddr_in serv_addr; /* Local address */ 00029 int serv_socket; /* Socket descriptor for server */ 00030 } ksock_t; 00031 00032 /* Prototypes */ 00033 extern int ksock_server_open(ksock_t * server, unsigned short port); 00034 extern int ksock_next_connection(ksock_t * server); 00035 extern int ksock_exec_command(char * cmd); 00036 extern int ksock_exec_command_pending(int clntSock, char * cmd); 00037 extern int ksock_send_command(int socket, char * cmd, ...); 00038 extern int ksock_connect(char * servIP, unsigned short servPort);