port.h revision 301169
1109998Smarkm#ifndef _GNU_SOURCE 2109998Smarkm#define _GNU_SOURCE 3109998Smarkm#endif 4109998Smarkm#include <stdio.h> 5109998Smarkm#include <inttypes.h> 6109998Smarkm#include <time.h> 7109998Smarkm#include <sys/stat.h> 8109998Smarkm#include <netdb.h> 9109998Smarkm 10109998Smarkm#ifndef __unused 11109998Smarkm#define __unused __attribute__((__unused__)) 12109998Smarkm#endif 13109998Smarkm 14109998Smarkm#ifndef __dead 15109998Smarkm#define __dead __attribute__((__noreturn__)) 16109998Smarkm#endif 17109998Smarkm 18109998Smarkm#ifndef __RCSID 19109998Smarkm#define __RCSID(a) 20109998Smarkm#endif 21109998Smarkm 22109998Smarkm#ifndef __UNCONST 23109998Smarkm#define __UNCONST(a) ((void *)(intptr_t)(a)) 24109998Smarkm#endif 25109998Smarkm 26109998Smarkm#ifndef __arraycount 27109998Smarkm#define __arraycount(a) (sizeof(a) / sizeof(a[0])) 28109998Smarkm#endif 29109998Smarkm 30109998Smarkm#ifndef HAVE_STRLCPY 31109998Smarkmsize_t strlcpy(char *, const char *, size_t); 32109998Smarkm#endif 33109998Smarkm 34109998Smarkm#ifndef HAVE_STRLCAT 35109998Smarkmsize_t strlcat(char *, const char *, size_t); 36109998Smarkm#endif 37109998Smarkm 38109998Smarkm#ifndef HAVE_POPENVE 39109998SmarkmFILE *popenve(const char *, char *const *, char *const *, const char *); 40109998Smarkmint pcloseve(FILE *); 41109998Smarkm#define pclose(a) pcloseve(a); 42109998Smarkm#endif 43109998Smarkm 44109998Smarkm#ifndef HAVE_SOCKADDR_SNPRINTF 45109998Smarkmstruct sockaddr; 46109998Smarkmint sockaddr_snprintf(char *, size_t, const char *, const struct sockaddr *); 47109998Smarkm#endif 48109998Smarkm 49109998Smarkm#ifndef HAVE_STRTOI 50109998Smarkmintmax_t strtoi(const char *, char **, int, intmax_t, intmax_t, int *); 51109998Smarkm#endif 52109998Smarkm 53109998Smarkm#ifndef HAVE_GETPROGNAME 54109998Smarkmconst char *getprogname(void); 55109998Smarkmvoid setprogname(char *); 56109998Smarkm#endif 57109998Smarkm 58109998Smarkm#ifndef HAVE_PIDFILE 59109998Smarkmint pidfile(const char *); 60109998Smarkm#endif 61109998Smarkm 62109998Smarkm#ifndef HAVE_FPARSELN 63109998Smarkm#define FPARSELN_UNESCALL 0xf 64109998Smarkm#define FPARSELN_UNESCCOMM 0x1 65109998Smarkm#define FPARSELN_UNESCCONT 0x2 66109998Smarkm#define FPARSELN_UNESCESC 0x4 67109998Smarkm#define FPARSELN_UNESCREST 0x8 68109998Smarkmchar *fparseln(FILE *, size_t *, size_t *, const char delim[3], int); 69109998Smarkm#endif 70109998Smarkm 71109998Smarkm#ifndef HAVE_FGETLN 72109998Smarkmchar *fgetln(FILE *, size_t *); 73109998Smarkm#endif 74109998Smarkm 75109998Smarkm#ifndef HAVE_CLOCK_GETTIME 76109998Smarkmstruct timespec; 77109998Smarkmint clock_gettime(int, struct timespec *); 78109998Smarkm#define CLOCK_REALTIME 0 79109998Smarkm#endif 80109998Smarkm 81109998Smarkm#if !defined(__FreeBSD__) 82109998Smarkm#define _PATH_BLCONF "conf" 83109998Smarkm#define _PATH_BLCONTROL "control" 84#define _PATH_BLSOCK "blacklistd.sock" 85#define _PATH_BLSTATE "blacklistd.db" 86#endif 87