/usr/include/postfix/nbbio.h is in postfix-dev 3.1.0-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #ifndef _NBBIO_H_INCLUDED_
#define _NBBIO_H_INCLUDED_
/*++
/* NAME
/* nbbio 3h
/* SUMMARY
/* non-blocking buffered I/O
/* SYNOPSIS
/* #include "nbbio.h"
/* DESCRIPTION
/* .nf
/*
* Utility library.
*/
#include <events.h> /* Needed for EVENT_READ etc. */
/*
* External interface. All structure members are private.
*/
typedef void (*NBBIO_ACTION) (int, void *);
typedef struct {
int fd; /* socket file descriptor */
ssize_t bufsize; /* read/write buffer size */
char *label; /* diagnostics */
NBBIO_ACTION action; /* call-back routine */
void *context; /* call-back context */
int flags; /* buffer-pair status */
char *read_buf; /* start of buffer */
ssize_t read_pend; /* nr of unread bytes */
char *write_buf; /* start of buffer */
ssize_t write_pend; /* nr of unwritten bytes */
} NBBIO;
#define NBBIO_FLAG_READ (1<<0)
#define NBBIO_FLAG_WRITE (1<<1)
#define NBBIO_FLAG_EOF (1<<2)
#define NBBIO_FLAG_ERROR (1<<3)
#define NBBIO_FLAG_TIMEOUT (1<<4)
#define NBBIO_OP_NAME(np) \
(((np)->flags & NBBIO_FLAG_READ) ? "read" : \
((np)->flags & NBBIO_FLAG_WRITE) ? "write" : \
"unknown")
#define NBBIO_MASK_ACTIVE \
(NBBIO_FLAG_READ | NBBIO_FLAG_WRITE)
#define NBBIO_MASK_ERROR \
(NBBIO_FLAG_EOF | NBBIO_FLAG_ERROR | NBBIO_FLAG_TIMEOUT)
#define NBBIO_BUFSIZE(np) (((np)->bufsize) + 0) /* Read-only */
#define NBBIO_READ_PEND(np) ((np)->read_pend)
#define NBBIO_READ_BUF(np) ((np)->read_buf + 0) /* Read-only */
#define NBBIO_WRITE_PEND(np) ((np)->write_pend)
#define NBBIO_WRITE_BUF(np) ((np)->write_buf + 0) /* Read-only */
#define NBBIO_ACTIVE_FLAGS(np) ((np)->flags & NBBIO_MASK_ACTIVE)
#define NBBIO_ERROR_FLAGS(np) ((np)->flags & NBBIO_MASK_ERROR)
extern NBBIO *nbbio_create(int, ssize_t, const char *, NBBIO_ACTION, void *);
extern void nbbio_free(NBBIO *);
extern void nbbio_enable_read(NBBIO *, int);
extern void nbbio_enable_write(NBBIO *, int);
extern void nbbio_disable_readwrite(NBBIO *);
extern void nbbio_slumber(NBBIO *, int);
/* LICENSE
/* .ad
/* .fi
/* The Secure Mailer license must be distributed with this software.
/* AUTHOR(S)
/* Wietse Venema
/* IBM T.J. Watson Research
/* P.O. Box 704
/* Yorktown Heights, NY 10598, USA
/*--*/
#endif
|