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
|
/*
* Miscellaneous system and library call wrappers.
*/
#ifndef _POP_MISC_H
#define _POP_MISC_H
/*
* A select(2)-based sleep() equivalent: no more problems with SIGALRM,
* subsecond precision.
*/
extern int sleep_select(int sec, int usec);
/*
* Obtain or remove a lock.
*/
extern int lock_fd(int fd, int shared);
extern int unlock_fd(int fd);
/*
* Attempts to write all the supplied data. Returns the number of bytes
* written. Any value that differs from the requested count means that
* an error has occurred; if the value is -1, errno is set appropriately.
*/
extern int write_loop(int fd, char *buffer, int count);
/*
* Concatenates a variable number of strings. The argument list must be
* terminated with a NULL. Returns a pointer to malloc(3)'ed memory with
* the concatenated string, or NULL on error.
*/
extern char *concat(char *s1, ...);
#endif
|