xref: /csrg-svn/old/talk/common_source/ctl.h (revision 66681)
1 /*
2  * Copyright (c) 1983 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  *
6  *	@(#)ctl.h	5.1 (Berkeley) 6/6/85
7  */
8 
9 /*
10  * ctl.h describes the structure that
11  * talk and talkd pass back and forth.
12  */
13 
14 #include <sys/types.h>
15 #include <sys/socket.h>
16 #include <netinet/in.h>
17 #include <netdb.h>
18 
19 #define	NAME_SIZE	9
20 #define	TTY_SIZE	16
21 #define	HOST_NAME_LENGTH 256
22 
23 #define MAX_LIFE	60	/* max time daemon saves invitations */
24 /* RING_WAIT should be 10's of seconds less than MAX_LIFE */
25 #define RING_WAIT	30	/* time to wait before refreshing invitation */
26 
27 /* type values */
28 #define LEAVE_INVITE	0
29 #define LOOK_UP		1
30 #define DELETE		2
31 #define ANNOUNCE	3
32 
33 /* answer values */
34 #define SUCCESS		0
35 #define NOT_HERE	1
36 #define FAILED		2
37 #define MACHINE_UNKNOWN	3
38 #define PERMISSION_DENIED 4
39 #define UNKNOWN_REQUEST	5
40 
41 typedef struct ctl_response {
42 	char	type;
43 	char	answer;
44 	int	id_num;
45 	struct	sockaddr_in addr;
46 } CTL_RESPONSE;
47 
48 typedef struct ctl_msg {
49 	char	type;
50 	char	l_name[NAME_SIZE];
51 	char	r_name[NAME_SIZE];
52 	int	id_num;
53 	int	pid;
54 	char	r_tty[TTY_SIZE];
55 	struct	sockaddr_in addr;
56 	struct	sockaddr_in ctl_addr;
57 } CTL_MSG;
58