Lines Matching refs:ap

252 static void abounce_done(ABOUNCE_STATE *ap, int status)  in abounce_done()  argument
254 if (ap->fp) { in abounce_done()
255 event_disable_readwrite(vstream_fileno(ap->fp)); in abounce_done()
256 (void) vstream_fclose(ap->fp); in abounce_done()
258 if (status != 0 && (ap->flags & BOUNCE_FLAG_CLEAN) == 0) in abounce_done()
259 msg_info("%s: status=deferred (%s failed)", ap->id, in abounce_done()
260 ap->command == BOUNCE_CMD_FLUSH ? "bounce" : in abounce_done()
261 ap->command == BOUNCE_CMD_WARN ? "delay warning" : in abounce_done()
262 ap->command == BOUNCE_CMD_VERP ? "verp" : in abounce_done()
263 ap->command == BOUNCE_CMD_TRACE ? "trace" : in abounce_done()
265 ap->callback(status, ap->context); in abounce_done()
266 myfree(ap->id); in abounce_done()
267 vstring_free(ap->request); in abounce_done()
268 myfree((void *) ap); in abounce_done()
275 ABOUNCE_STATE *ap = (ABOUNCE_STATE *) context; in abounce_receive() local
282 && attr_scan(ap->fp, ATTR_FLAG_STRICT, in abounce_receive()
285 abounce_done(ap, status); in abounce_receive()
287 abounce_done(ap, -1); in abounce_receive()
295 ABOUNCE_STATE *ap = (ABOUNCE_STATE *) context; in abounce_send() local
305 non_blocking(vstream_fileno(ap->fp), BLOCKING); in abounce_send()
307 && attr_scan(ap->fp, ATTR_FLAG_STRICT, in abounce_send()
310 && vstream_fwrite(ap->fp, STR(ap->request), in abounce_send()
311 LEN(ap->request)) == LEN(ap->request) in abounce_send()
312 && vstream_fflush(ap->fp) == 0) { in abounce_send()
313 ABOUNCE_EVENT_ENABLE(vstream_fileno(ap->fp), abounce_receive, in abounce_send()
314 (void *) ap, ABOUNCE_TIMEOUT); in abounce_send()
316 abounce_done(ap, -1); in abounce_send()
331 ABOUNCE_STATE *ap; in abounce_connect() local
345 ap = (ABOUNCE_STATE *) mymalloc(sizeof(*ap)); in abounce_connect()
346 ap->command = command; in abounce_connect()
347 ap->flags = flags; in abounce_connect()
348 ap->id = mystrdup(id); in abounce_connect()
349 ap->request = vstring_alloc(ABOUNCE_BUFSIZE); in abounce_connect()
350 ap->callback = callback; in abounce_connect()
351 ap->context = context; in abounce_connect()
352 ap->fp = mail_connect(class, service, NON_BLOCKING); in abounce_connect()
358 if (ap->fp != 0) { in abounce_connect()
360 VSTREAM *mp = vstream_memopen(ap->request, O_WRONLY); in abounce_connect()
385 ABOUNCE_EVENT_ENABLE(vstream_fileno(ap->fp), abounce_send, in abounce_connect()
386 (void *) ap, ABOUNCE_TIMEOUT); in abounce_connect()
388 abounce_done(ap, -1); in abounce_connect()