xref: /csrg-svn/include/protocols/talkd.h (revision 16363)
1*16363Skarels /*	@(#)talkd.h	1.2 04/11/84	*/
216344Skarels 
3*16363Skarels /*
4*16363Skarels  * ctl.h describes the structure that
5*16363Skarels  * talk and talkd pass back and forth.
616344Skarels  */
716344Skarels 
816344Skarels #include <sys/types.h>
916344Skarels #include <sys/socket.h>
1016344Skarels #include <netinet/in.h>
1116344Skarels #include <netdb.h>
1216344Skarels 
13*16363Skarels #define	NAME_SIZE	9
14*16363Skarels #define	TTY_SIZE	16
15*16363Skarels #define	HOST_NAME_LENGTH 256
1616344Skarels 
17*16363Skarels #define MAX_LIFE	60	/* max time daemon saves invitations */
18*16363Skarels /* RING_WAIT should be 10's of seconds less than MAX_LIFE */
19*16363Skarels #define RING_WAIT	30	/* time to wait before refreshing invitation */
2016344Skarels 
21*16363Skarels /* type values */
22*16363Skarels #define LEAVE_INVITE	0
23*16363Skarels #define LOOK_UP		1
24*16363Skarels #define DELETE		2
25*16363Skarels #define ANNOUNCE	3
2616344Skarels 
27*16363Skarels /* answer values */
28*16363Skarels #define SUCCESS		0
29*16363Skarels #define NOT_HERE	1
30*16363Skarels #define FAILED		2
31*16363Skarels #define MACHINE_UNKNOWN	3
3216344Skarels #define PERMISSION_DENIED 4
33*16363Skarels #define UNKNOWN_REQUEST	5
3416344Skarels 
35*16363Skarels typedef struct ctl_response {
36*16363Skarels 	char	type;
37*16363Skarels 	char	answer;
38*16363Skarels 	int	id_num;
39*16363Skarels 	struct	sockaddr_in addr;
40*16363Skarels } CTL_RESPONSE;
4116344Skarels 
42*16363Skarels typedef struct ctl_msg {
43*16363Skarels 	char	type;
44*16363Skarels 	char	l_name[NAME_SIZE];
45*16363Skarels 	char	r_name[NAME_SIZE];
46*16363Skarels 	int	id_num;
47*16363Skarels 	int	pid;
48*16363Skarels 	char	r_tty[TTY_SIZE];
49*16363Skarels 	struct	sockaddr_in addr;
50*16363Skarels 	struct	sockaddr_in ctl_addr;
51*16363Skarels } CTL_MSG;
52