xref: /csrg-svn/include/protocols/talkd.h (revision 16344)
1*16344Skarels /* $Header: ctl.h 1.4 83/03/28 20:46:27 moore Exp $ */
2*16344Skarels 
3*16344Skarels /* ctl.h describes the structure that talk and talkd pass back
4*16344Skarels    and forth
5*16344Skarels  */
6*16344Skarels 
7*16344Skarels #include <sys/types.h>
8*16344Skarels #include <sys/socket.h>
9*16344Skarels #include <netinet/in.h>
10*16344Skarels #include <netdb.h>
11*16344Skarels 
12*16344Skarels #define NAME_SIZE 9
13*16344Skarels #define TTY_SIZE 16
14*16344Skarels #define HOST_NAME_LENGTH 256
15*16344Skarels 
16*16344Skarels #define MAX_LIFE 60 /* maximum time an invitation is saved by the
17*16344Skarels 			 talk daemons */
18*16344Skarels #define RING_WAIT 30  /* time to wait before refreshing invitation
19*16344Skarels 			 should be 10's of seconds less than MAX_LIFE */
20*16344Skarels 
21*16344Skarels     /* the values for type */
22*16344Skarels 
23*16344Skarels #define LEAVE_INVITE 0
24*16344Skarels #define LOOK_UP 1
25*16344Skarels #define DELETE 2
26*16344Skarels #define ANNOUNCE 3
27*16344Skarels 
28*16344Skarels     /* the values for answer */
29*16344Skarels 
30*16344Skarels #define SUCCESS 0
31*16344Skarels #define NOT_HERE 1
32*16344Skarels #define FAILED 2
33*16344Skarels #define MACHINE_UNKNOWN 3
34*16344Skarels #define PERMISSION_DENIED 4
35*16344Skarels #define UNKNOWN_REQUEST 5
36*16344Skarels 
37*16344Skarels typedef struct ctl_response CTL_RESPONSE;
38*16344Skarels 
39*16344Skarels struct ctl_response {
40*16344Skarels     char type;
41*16344Skarels     char answer;
42*16344Skarels     int id_num;
43*16344Skarels     struct sockaddr_in addr;
44*16344Skarels };
45*16344Skarels 
46*16344Skarels typedef struct ctl_msg CTL_MSG;
47*16344Skarels 
48*16344Skarels struct ctl_msg {
49*16344Skarels     char type;
50*16344Skarels     char l_name[NAME_SIZE];
51*16344Skarels     char r_name[NAME_SIZE];
52*16344Skarels     int id_num;
53*16344Skarels     int pid;
54*16344Skarels     char r_tty[TTY_SIZE];
55*16344Skarels     struct sockaddr_in addr;
56*16344Skarels     struct sockaddr_in ctl_addr;
57*16344Skarels };
58