Lines Matching refs:request
48 * LEAVE_INVITE - insert the request into the table
50 * LOOK_UP - look up to see if a request is waiting in
68 static void do_announce(CTL_MSG *request, CTL_RESPONSE *response);
72 process_request(CTL_MSG *request, CTL_RESPONSE *response)
76 response->type = request->type;
80 * Check if any of the strings within the request structure aren't
81 * NUL terminated, and if so don't bother processing the request
84 if ((memchr(request->l_name, '\0', sizeof (request->l_name)) == NULL) ||
85 (memchr(request->r_name, '\0', sizeof (request->r_name)) == NULL) ||
86 (memchr(request->r_tty, '\0', sizeof (request->r_tty)) == NULL)) {
89 syslog(LOG_CRIT, "malformed talk request\n");
94 switch (request->type) {
98 do_announce(request, response);
103 ptr = find_request(request);
108 insert_table(request, response);
114 ptr = find_match(request);
126 response->answer = delete_invite(request->id_num);
137 do_announce(CTL_MSG *request, CTL_RESPONSE *response)
146 result = find_user(request->r_name, request->r_tty);
152 hp = gethostbyaddr((const char *)&request->ctl_addr.sin_addr,
159 ptr = find_request(request);
161 insert_table(request, response);
162 response->answer = announce(request, hp->h_name);
163 } else if (request->id_num > ptr->id_num) {
169 response->answer = announce(request, hp->h_name);
171 /* a duplicated request, so ignore it */