X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=usock.h;h=5f2b84b092ce9ac17cde4645517fb1f9b3cc788a;hp=8f30addacf5a0f4d2a1cd9873e3ce131bee8b434;hb=ace64897d47b9bc7af277d8a3f8a0ff67976cba8;hpb=f5245f9887af7bf8f3468bf0ebca3c031da346ed diff --git a/usock.h b/usock.h index 8f30add..5f2b84b 100644 --- a/usock.h +++ b/usock.h @@ -23,13 +23,32 @@ #define USOCK_UDP 1 #define USOCK_SERVER 0x0100 -#define USOCK_NOCLOEXEC 0x0200 +#define USOCK_NOCLOEXEC 0x0200 #define USOCK_NONBLOCK 0x0400 #define USOCK_NUMERIC 0x0800 #define USOCK_IPV6ONLY 0x2000 #define USOCK_IPV4ONLY 0x4000 -#define USOCK_UNIX 0x8000 +#define USOCK_UNIX 0x8000 +const char *usock_port(int port); int usock(int type, const char *host, const char *service); +int usock_inet_timeout(int type, const char *host, const char *service, + void *addr, int timeout); +static inline int +usock_inet(int type, const char *host, const char *service, void *addr) +{ + return usock_inet_timeout(type, host, service, addr, -1); +} + +/** + * Wait for a socket to become ready. + * + * This may be useful for users of USOCK_NONBLOCK to wait (with a timeout) + * for a socket. + * + * @param fd file descriptor of socket + * @param msecs timeout in microseconds + */ +int usock_wait_ready(int fd, int msecs); #endif /* USOCK_H_ */