3 * By Daniel Borkmann <daniel@netyack.org>
4 * Copyright 2009, 2010 Daniel Borkmann.
13 #include <sys/types.h>
17 #include "write_or_die.h"
18 #include "error_and_die.h"
20 void fsync_or_die(int fd
, const char *msg
)
23 puke_and_die(EXIT_FAILURE
, "%s: fsync error", msg
);
26 int open_or_die(const char *file
, int flags
)
28 int ret
= open(file
, flags
);
30 puke_and_die(EXIT_FAILURE
, "Open error");
36 ssize_t
read_or_die(int fd
, void *buf
, size_t len
)
38 ssize_t ret
= read(fd
, buf
, len
);
42 puke_and_die(EXIT_FAILURE
, "Read error");
48 ssize_t
write_or_die(int fd
, const void *buf
, size_t len
)
50 ssize_t ret
= write(fd
, buf
, len
);
54 puke_and_die(EXIT_FAILURE
, "Write error");
60 ssize_t
write_or_whine_pipe(int fd
, const void *buf
, size_t len
,
63 ssize_t ret
= write(fd
, buf
, len
);
67 whine("%s: write error (%s)!\n", msg
, strerror(errno
));
74 ssize_t
write_or_whine(int fd
, const void *buf
, size_t len
,
77 ssize_t ret
= write(fd
, buf
, len
);
79 whine("%s: write error (%s)!\n", msg
, strerror(errno
));