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