1/* 2 * Copyright 2001-2004 Brandon Long 3 * All Rights Reserved. 4 * 5 * ClearSilver Templating System 6 * 7 * This code is made available under the terms of the ClearSilver License. 8 * http://www.clearsilver.net/license.hdf 9 * 10 */ 11 12#ifndef __NEO_SERVER_H_ 13#define __NEO_SERVER_H_ 1 14 15__BEGIN_DECLS 16 17/* hmm, this callback might need a mechanism for telling the child to 18 * end... */ 19typedef NEOERR *(*NSERVER_REQ_CB)(void *rock, int num, NSOCK *sock); 20typedef NEOERR *(*NSERVER_CB)(void *rock, int num); 21 22typedef struct _nserver { 23 /* callbacks */ 24 NSERVER_CB init_cb; 25 NSERVER_REQ_CB req_cb; 26 NSERVER_CB clean_cb; 27 28 void *data; 29 30 int num_children; 31 int num_requests; 32 33 int port; 34 int conn_timeout; 35 int data_timeout; 36 37 char lockfile[_POSIX_PATH_MAX]; 38 39 /* Internal data */ 40 int accept_lock; 41 int server_fd; 42} NSERVER; 43 44NEOERR *nserver_proc_start(NSERVER *server, BOOL debug); 45 46__END_DECLS 47 48#endif /* __NEO_SERVER_H_ */ 49