xref: /freebsd/contrib/blocklist/port/port.h (revision 5f4c09dd85bff675e0ca63c55ea3c517e0fddfcc)
1*5f4c09ddSEd Maste #ifndef _GNU_SOURCE
2*5f4c09ddSEd Maste #define _GNU_SOURCE
3*5f4c09ddSEd Maste #endif
4*5f4c09ddSEd Maste #include <stdio.h>
5*5f4c09ddSEd Maste #include <inttypes.h>
6*5f4c09ddSEd Maste #include <time.h>
7*5f4c09ddSEd Maste #include <sys/stat.h>
8*5f4c09ddSEd Maste #include <netdb.h>
9*5f4c09ddSEd Maste 
10*5f4c09ddSEd Maste #ifndef __unused
11*5f4c09ddSEd Maste #define __unused __attribute__((__unused__))
12*5f4c09ddSEd Maste #endif
13*5f4c09ddSEd Maste 
14*5f4c09ddSEd Maste #ifndef __dead
15*5f4c09ddSEd Maste #define __dead __attribute__((__noreturn__))
16*5f4c09ddSEd Maste #endif
17*5f4c09ddSEd Maste 
18*5f4c09ddSEd Maste #ifndef __RCSID
19*5f4c09ddSEd Maste #define __RCSID(a)
20*5f4c09ddSEd Maste #endif
21*5f4c09ddSEd Maste 
22*5f4c09ddSEd Maste #ifndef __UNCONST
23*5f4c09ddSEd Maste #define __UNCONST(a) ((void *)(intptr_t)(a))
24*5f4c09ddSEd Maste #endif
25*5f4c09ddSEd Maste 
26*5f4c09ddSEd Maste #ifndef __arraycount
27*5f4c09ddSEd Maste #define __arraycount(a) (sizeof(a) / sizeof(a[0]))
28*5f4c09ddSEd Maste #endif
29*5f4c09ddSEd Maste 
30*5f4c09ddSEd Maste #ifndef HAVE_STRLCPY
31*5f4c09ddSEd Maste size_t strlcpy(char *, const char *, size_t);
32*5f4c09ddSEd Maste #endif
33*5f4c09ddSEd Maste 
34*5f4c09ddSEd Maste #ifndef HAVE_STRLCAT
35*5f4c09ddSEd Maste size_t strlcat(char *, const char *, size_t);
36*5f4c09ddSEd Maste #endif
37*5f4c09ddSEd Maste 
38*5f4c09ddSEd Maste #ifndef HAVE_POPENVE
39*5f4c09ddSEd Maste FILE *popenve(const char *, char *const *, char *const *, const char *);
40*5f4c09ddSEd Maste int pcloseve(FILE *);
41*5f4c09ddSEd Maste #define pclose(a) pcloseve(a);
42*5f4c09ddSEd Maste #endif
43*5f4c09ddSEd Maste 
44*5f4c09ddSEd Maste #ifndef HAVE_SOCKADDR_SNPRINTF
45*5f4c09ddSEd Maste struct sockaddr;
46*5f4c09ddSEd Maste int sockaddr_snprintf(char *, size_t, const char *, const struct sockaddr *);
47*5f4c09ddSEd Maste #endif
48*5f4c09ddSEd Maste 
49*5f4c09ddSEd Maste #ifndef HAVE_STRTOI
50*5f4c09ddSEd Maste intmax_t strtoi(const char *, char **, int, intmax_t, intmax_t, int *);
51*5f4c09ddSEd Maste #endif
52*5f4c09ddSEd Maste 
53*5f4c09ddSEd Maste #ifndef HAVE_GETPROGNAME
54*5f4c09ddSEd Maste const char *getprogname(void);
55*5f4c09ddSEd Maste void setprogname(char *);
56*5f4c09ddSEd Maste #endif
57*5f4c09ddSEd Maste 
58*5f4c09ddSEd Maste #ifndef HAVE_PIDFILE
59*5f4c09ddSEd Maste int pidfile(const char *);
60*5f4c09ddSEd Maste #endif
61*5f4c09ddSEd Maste 
62*5f4c09ddSEd Maste #ifndef HAVE_FPARSELN
63*5f4c09ddSEd Maste #define FPARSELN_UNESCALL	0xf
64*5f4c09ddSEd Maste #define FPARSELN_UNESCCOMM	0x1
65*5f4c09ddSEd Maste #define FPARSELN_UNESCCONT	0x2
66*5f4c09ddSEd Maste #define FPARSELN_UNESCESC	0x4
67*5f4c09ddSEd Maste #define FPARSELN_UNESCREST	0x8
68*5f4c09ddSEd Maste char *fparseln(FILE *, size_t *, size_t *, const char delim[3], int);
69*5f4c09ddSEd Maste #endif
70*5f4c09ddSEd Maste 
71*5f4c09ddSEd Maste #ifndef HAVE_FGETLN
72*5f4c09ddSEd Maste char *fgetln(FILE *, size_t *);
73*5f4c09ddSEd Maste #endif
74*5f4c09ddSEd Maste 
75*5f4c09ddSEd Maste #ifndef HAVE_CLOCK_GETTIME
76*5f4c09ddSEd Maste struct timespec;
77*5f4c09ddSEd Maste int clock_gettime(int, struct timespec *);
78*5f4c09ddSEd Maste #define CLOCK_REALTIME 0
79*5f4c09ddSEd Maste #endif
80*5f4c09ddSEd Maste 
81*5f4c09ddSEd Maste #if !defined(__FreeBSD__)
82*5f4c09ddSEd Maste #define _PATH_BLCONF "conf"
83*5f4c09ddSEd Maste #define _PATH_BLCONTROL "control"
84*5f4c09ddSEd Maste #define _PATH_BLSOCK "blacklistd.sock"
85*5f4c09ddSEd Maste #define _PATH_BLSTATE "blacklistd.db"
86*5f4c09ddSEd Maste #endif
87