X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev_libc_wrapper.h;h=6f8c8f24c7eb4693792f941c97bcbe1338d7cdf7;hp=65f4e01c2340077b9ce9b876905e546f0d90da87;hb=49fb51c6159db916f93c9439ef9b37ce6be90d02;hpb=63f61c5cf639953aa38e025485919b0aa1c49b59 diff --git a/udev_libc_wrapper.h b/udev_libc_wrapper.h index 65f4e01c2..6f8c8f24c 100644 --- a/udev_libc_wrapper.h +++ b/udev_libc_wrapper.h @@ -22,27 +22,53 @@ #ifndef _UDEV_LIBC_WRAPPER_H_ #define _UDEV_LIBC_WRAPPER_H_ -#ifdef asmlinkage -# undef asmlinkage -#endif +#include +#include +#include + +/* needed for our signal handlers to work */ +#undef asmlinkage #ifdef __i386__ -# define asmlinkage __attribute__((regparm(0))) +#define asmlinkage __attribute__((regparm(0))) +#else +#define asmlinkage +#endif + +/* headers are broken on some lazy platforms */ +#ifndef __FD_SET +#define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d)) +#endif +#ifndef __FD_CLR +#define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d)) #endif -#ifndef asmlinkage -# define asmlinkage +#ifndef __FD_ISSET +#define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0) +#endif +#ifndef __FD_ZERO +#define __FD_ZERO(set) ((void) memset ((void*) (set), 0, sizeof (fd_set))) #endif -#include +/* missing in some lazy distros */ +#ifndef NETLINK_KOBJECT_UEVENT +#define NETLINK_KOBJECT_UEVENT 15 +#endif + +#ifndef SO_RCVBUFFORCE +#define SO_RCVBUFFORCE 33 +#endif + +#ifdef __KLIBC__ +static inline int clearenv(void) +{ + environ[0] = NULL; + return 0; +} +#endif extern uid_t lookup_user(const char *user); extern gid_t lookup_group(const char *group); -#ifndef strlcat extern size_t strlcpy(char *dst, const char *src, size_t size); -#endif - -#ifndef strlcat extern size_t strlcat(char *dst, const char *src, size_t size); -#endif #endif /* _UDEV_LIBC_WRAPPER_H_ */