ldmud-3.4.1/doc/
ldmud-3.4.1/doc/efun.de/
ldmud-3.4.1/doc/efun/
ldmud-3.4.1/doc/man/
ldmud-3.4.1/doc/other/
ldmud-3.4.1/mud/
ldmud-3.4.1/mud/heaven7/
ldmud-3.4.1/mud/lp-245/
ldmud-3.4.1/mud/lp-245/banish/
ldmud-3.4.1/mud/lp-245/doc/
ldmud-3.4.1/mud/lp-245/doc/examples/
ldmud-3.4.1/mud/lp-245/doc/sefun/
ldmud-3.4.1/mud/lp-245/log/
ldmud-3.4.1/mud/lp-245/obj/Go/
ldmud-3.4.1/mud/lp-245/players/lars/
ldmud-3.4.1/mud/lp-245/room/death/
ldmud-3.4.1/mud/lp-245/room/maze1/
ldmud-3.4.1/mud/lp-245/room/sub/
ldmud-3.4.1/mud/lp-245/secure/
ldmud-3.4.1/mud/morgengrauen/
ldmud-3.4.1/mud/morgengrauen/lib/
ldmud-3.4.1/mud/sticklib/
ldmud-3.4.1/mud/sticklib/src/
ldmud-3.4.1/mudlib/uni-crasher/
ldmud-3.4.1/pkg/
ldmud-3.4.1/pkg/debugger/
ldmud-3.4.1/pkg/diff/
ldmud-3.4.1/pkg/misc/
ldmud-3.4.1/src/autoconf/
ldmud-3.4.1/src/hosts/
ldmud-3.4.1/src/hosts/GnuWin32/
ldmud-3.4.1/src/hosts/amiga/
ldmud-3.4.1/src/hosts/win32/
ldmud-3.4.1/src/ptmalloc/
ldmud-3.4.1/src/util/
ldmud-3.4.1/src/util/erq/
ldmud-3.4.1/src/util/indent/hosts/next/
ldmud-3.4.1/src/util/xerq/
ldmud-3.4.1/src/util/xerq/lpc/
ldmud-3.4.1/src/util/xerq/lpc/www/
ldmud-3.4.1/test/t-030925/
ldmud-3.4.1/test/t-040413/
ldmud-3.4.1/test/t-041124/
/* external request demon interface definitions */

#ifndef LPC__ERQ_H__
#define LPC__ERQ_H__ 1

/* servive request types */

#define ERQ_RLOOKUP     0  /* Lookup ip -> name */
#define ERQ_EXECUTE     1  /* Execute a program */
#define ERQ_FORK        2  /* Fork a program */
#define ERQ_AUTH        3  /* Connect to a remote authd */
#define ERQ_SPAWN       4  /* Spawn a program */
#define ERQ_SEND        5  /* Send data to a program or connection */
#define ERQ_KILL        6  /* Kill a program or connection */
#define ERQ_OPEN_UDP    7  /* Open a UDP socket */
#define ERQ_OPEN_TCP    8  /* Open a TCP connection */
#define ERQ_LISTEN      9  /* Open a TCP accept-socket */
#define ERQ_ACCEPT     10  /* Accept a connection from a accept-socket */
#define ERQ_LOOKUP     11  /* Lookup name -> ip */

#ifdef __IPV6__
#define ERQ_RLOOKUPV6  12  /* Lookup name/ip6 */
#endif

/* Additional service request type flags evaluated by efun send_erq().
 * The ERQ itself won't get to see it.
 */

#define ERQ_CB_STRING  (1 << 31)  /* Callback closure takes a string arg */


/* answers from ERQ_EXECUTE / ERQ_FORK */

#define ERQ_OK		  0
#define ERQ_SIGNALED	  1
#define ERQ_E_NOTFOUND	  2  /* process not found by wait */
#define ERQ_E_UNKNOWN	  3  /* unknown exit condition from wait() */
#define ERQ_E_ARGLENGTH	  4
#define ERQ_E_ARGFORMAT	  5
#define ERQ_E_ARGNUMBER	  6
#define ERQ_E_ILLEGAL	  7
#define ERQ_E_PATHLEN	  8
#define ERQ_E_FORKFAIL	  9
#define ERQ_E_TICKET	 11
#define ERQ_E_INCOMPLETE 12
#define ERQ_E_WOULDBLOCK 13
#define ERQ_E_PIPE	 14
#define ERQ_STDOUT	 15  /* Normal data received */
#define ERQ_STDERR	 16
#define ERQ_EXITED	 17  /* Connection closed on EOF */
#define ERQ_E_NSLOTS	 18

/* reserved handles */

#define ERQ_HANDLE_RLOOKUP (-1)
#define ERQ_HANDLE_KEEP_HANDLE (-2)
#define ERQ_HANDLE_RLOOKUPV6 (-3)

#endif /* LPC__ERQ_H__ */