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