21 #ifndef XAPIAN_INCLUDED_SAFEFCNTL_H
22 #define XAPIAN_INCLUDED_SAFEFCNTL_H
34 inline int open(
const char *filename, int64_t flags, ...) {
38 if (flags & O_CREAT) {
39 mode = va_arg(ap, mode_t);
43 char* f =
const_cast<char*
>(filename);
44 return open64x(f, flags, mode, 0);
47 #elif defined __cplusplus && defined open
55 inline int fcntl_open_(
const char *filename,
int flags, mode_t mode) {
56 return open(filename, flags, mode);
59 inline int fcntl_open_(
const char *filename,
int flags) {
60 return open(filename, flags);
65 inline int open(
const char *filename,
int flags, mode_t mode) {
66 return fcntl_open_(filename, flags, mode);
69 inline int open(
const char *filename,
int flags) {
70 return fcntl_open_(filename, flags);
86 # define O_CLOEXEC O_NOINHERIT
Database open(std::string_view host, unsigned int port, unsigned timeout=10000, unsigned connect_timeout=10000)
Construct a Database object for read-only access to a remote database accessed via a TCP connection.