155682Smarkm/* 2233294Sstas * Copyright (c) 1995 - 2005 Kungliga Tekniska H��gskolan 355682Smarkm * (Royal Institute of Technology, Stockholm, Sweden). 455682Smarkm * All rights reserved. 5233294Sstas * 655682Smarkm * Redistribution and use in source and binary forms, with or without 755682Smarkm * modification, are permitted provided that the following conditions 855682Smarkm * are met: 9233294Sstas * 1055682Smarkm * 1. Redistributions of source code must retain the above copyright 1155682Smarkm * notice, this list of conditions and the following disclaimer. 12233294Sstas * 1355682Smarkm * 2. Redistributions in binary form must reproduce the above copyright 1455682Smarkm * notice, this list of conditions and the following disclaimer in the 1555682Smarkm * documentation and/or other materials provided with the distribution. 16233294Sstas * 1755682Smarkm * 3. Neither the name of the Institute nor the names of its contributors 1855682Smarkm * may be used to endorse or promote products derived from this software 1955682Smarkm * without specific prior written permission. 20233294Sstas * 2155682Smarkm * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 2255682Smarkm * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2355682Smarkm * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2455682Smarkm * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 2555682Smarkm * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2655682Smarkm * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2755682Smarkm * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2855682Smarkm * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2955682Smarkm * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3055682Smarkm * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3155682Smarkm * SUCH DAMAGE. 3255682Smarkm */ 3355682Smarkm 34233294Sstas/* $Id$ */ 3555682Smarkm 3655682Smarkm#ifndef __ROKEN_COMMON_H__ 3755682Smarkm#define __ROKEN_COMMON_H__ 3855682Smarkm 39178825Sdfr#ifndef ROKEN_LIB_FUNCTION 40178825Sdfr#ifdef _WIN32 41233294Sstas#define ROKEN_LIB_FUNCTION 42233294Sstas#define ROKEN_LIB_CALL __cdecl 43178825Sdfr#else 44178825Sdfr#define ROKEN_LIB_FUNCTION 45233294Sstas#define ROKEN_LIB_CALL 46178825Sdfr#endif 47178825Sdfr#endif 48178825Sdfr 4972445Sassar#ifdef __cplusplus 5072445Sassar#define ROKEN_CPP_START extern "C" { 5172445Sassar#define ROKEN_CPP_END } 5272445Sassar#else 5372445Sassar#define ROKEN_CPP_START 5472445Sassar#define ROKEN_CPP_END 5572445Sassar#endif 5672445Sassar 5755682Smarkm#ifndef INADDR_NONE 5855682Smarkm#define INADDR_NONE 0xffffffff 5955682Smarkm#endif 6055682Smarkm 6155682Smarkm#ifndef INADDR_LOOPBACK 6255682Smarkm#define INADDR_LOOPBACK 0x7f000001 6355682Smarkm#endif 6455682Smarkm 6555682Smarkm#ifndef SOMAXCONN 6655682Smarkm#define SOMAXCONN 5 6755682Smarkm#endif 6855682Smarkm 6955682Smarkm#ifndef STDIN_FILENO 7055682Smarkm#define STDIN_FILENO 0 7155682Smarkm#endif 7255682Smarkm 7355682Smarkm#ifndef STDOUT_FILENO 7455682Smarkm#define STDOUT_FILENO 1 7555682Smarkm#endif 7655682Smarkm 7755682Smarkm#ifndef STDERR_FILENO 7855682Smarkm#define STDERR_FILENO 2 7955682Smarkm#endif 8055682Smarkm 8155682Smarkm#ifndef max 8255682Smarkm#define max(a,b) (((a)>(b))?(a):(b)) 8355682Smarkm#endif 8455682Smarkm 8555682Smarkm#ifndef min 8655682Smarkm#define min(a,b) (((a)<(b))?(a):(b)) 8755682Smarkm#endif 8855682Smarkm 8955682Smarkm#ifndef TRUE 9055682Smarkm#define TRUE 1 9155682Smarkm#endif 9255682Smarkm 9355682Smarkm#ifndef FALSE 9455682Smarkm#define FALSE 0 9555682Smarkm#endif 9655682Smarkm 9755682Smarkm#ifndef LOG_DAEMON 9855682Smarkm#define openlog(id,option,facility) openlog((id),(option)) 9955682Smarkm#define LOG_DAEMON 0 10055682Smarkm#endif 10155682Smarkm#ifndef LOG_ODELAY 10255682Smarkm#define LOG_ODELAY 0 10355682Smarkm#endif 10455682Smarkm#ifndef LOG_NDELAY 10555682Smarkm#define LOG_NDELAY 0x08 10655682Smarkm#endif 10755682Smarkm#ifndef LOG_CONS 10855682Smarkm#define LOG_CONS 0 10955682Smarkm#endif 11055682Smarkm#ifndef LOG_AUTH 11155682Smarkm#define LOG_AUTH 0 11255682Smarkm#endif 11355682Smarkm#ifndef LOG_AUTHPRIV 11455682Smarkm#define LOG_AUTHPRIV LOG_AUTH 11555682Smarkm#endif 11655682Smarkm 11755682Smarkm#ifndef F_OK 11855682Smarkm#define F_OK 0 11955682Smarkm#endif 12055682Smarkm 12155682Smarkm#ifndef O_ACCMODE 12255682Smarkm#define O_ACCMODE 003 12355682Smarkm#endif 12455682Smarkm 125233294Sstas#ifndef _WIN32 126233294Sstas 12757416Smarkm#ifndef _PATH_DEV 12857416Smarkm#define _PATH_DEV "/dev/" 12957416Smarkm#endif 13057416Smarkm 13155682Smarkm#ifndef _PATH_DEVNULL 13255682Smarkm#define _PATH_DEVNULL "/dev/null" 13355682Smarkm#endif 13455682Smarkm 13555682Smarkm#ifndef _PATH_HEQUIV 13655682Smarkm#define _PATH_HEQUIV "/etc/hosts.equiv" 13755682Smarkm#endif 13855682Smarkm 13972445Sassar#ifndef _PATH_VARRUN 14072445Sassar#define _PATH_VARRUN "/var/run/" 14172445Sassar#endif 14272445Sassar 14372445Sassar#ifndef _PATH_BSHELL 14472445Sassar#define _PATH_BSHELL "/bin/sh" 14572445Sassar#endif 14672445Sassar 14755682Smarkm#ifndef MAXPATHLEN 14855682Smarkm#define MAXPATHLEN (1024+4) 14955682Smarkm#endif 15055682Smarkm 151233294Sstas#endif /* !_WIN32 */ 152233294Sstas 153233294Sstas#ifndef PATH_MAX 154233294Sstas#define PATH_MAX MAX_PATH 155233294Sstas#endif 156233294Sstas 157233294Sstas#ifndef RETSIGTYPE 158233294Sstas#define RETSIGTYPE void 159233294Sstas#endif 160233294Sstas 16155682Smarkm#ifndef SIG_ERR 16272445Sassar#define SIG_ERR ((RETSIGTYPE (*)(int))-1) 16355682Smarkm#endif 16455682Smarkm 16555682Smarkm/* 16655682Smarkm * error code for getipnodeby{name,addr} 16755682Smarkm */ 16855682Smarkm 16955682Smarkm#ifndef HOST_NOT_FOUND 17055682Smarkm#define HOST_NOT_FOUND 1 17155682Smarkm#endif 17255682Smarkm 17355682Smarkm#ifndef TRY_AGAIN 17455682Smarkm#define TRY_AGAIN 2 17555682Smarkm#endif 17655682Smarkm 17755682Smarkm#ifndef NO_RECOVERY 17855682Smarkm#define NO_RECOVERY 3 17955682Smarkm#endif 18055682Smarkm 18155682Smarkm#ifndef NO_DATA 18255682Smarkm#define NO_DATA 4 18355682Smarkm#endif 18455682Smarkm 18555682Smarkm#ifndef NO_ADDRESS 18655682Smarkm#define NO_ADDRESS NO_DATA 18755682Smarkm#endif 18855682Smarkm 18955682Smarkm/* 19055682Smarkm * error code for getaddrinfo 19155682Smarkm */ 19255682Smarkm 19355682Smarkm#ifndef EAI_NOERROR 19455682Smarkm#define EAI_NOERROR 0 /* no error */ 19555682Smarkm#endif 19655682Smarkm 197127808Snectar#ifndef EAI_NONAME 19855682Smarkm 19955682Smarkm#define EAI_ADDRFAMILY 1 /* address family for nodename not supported */ 20055682Smarkm#define EAI_AGAIN 2 /* temporary failure in name resolution */ 20155682Smarkm#define EAI_BADFLAGS 3 /* invalid value for ai_flags */ 20255682Smarkm#define EAI_FAIL 4 /* non-recoverable failure in name resolution */ 20355682Smarkm#define EAI_FAMILY 5 /* ai_family not supported */ 20455682Smarkm#define EAI_MEMORY 6 /* memory allocation failure */ 20555682Smarkm#define EAI_NODATA 7 /* no address associated with nodename */ 20655682Smarkm#define EAI_NONAME 8 /* nodename nor servname provided, or not known */ 20755682Smarkm#define EAI_SERVICE 9 /* servname not supported for ai_socktype */ 20855682Smarkm#define EAI_SOCKTYPE 10 /* ai_socktype not supported */ 20955682Smarkm#define EAI_SYSTEM 11 /* system error returned in errno */ 21055682Smarkm 211127808Snectar#endif /* EAI_NONAME */ 21255682Smarkm 21355682Smarkm/* flags for getaddrinfo() */ 21455682Smarkm 21555682Smarkm#ifndef AI_PASSIVE 21655682Smarkm#define AI_PASSIVE 0x01 21755682Smarkm#define AI_CANONNAME 0x02 218102644Snectar#endif /* AI_PASSIVE */ 219102644Snectar 220102644Snectar#ifndef AI_NUMERICHOST 22155682Smarkm#define AI_NUMERICHOST 0x04 222102644Snectar#endif 22355682Smarkm 224233294Sstas#ifndef AI_NUMERICSERV 225233294Sstas#define AI_NUMERICSERV 0x08 226233294Sstas#endif 227233294Sstas 22855682Smarkm/* flags for getnameinfo() */ 22955682Smarkm 23055682Smarkm#ifndef NI_DGRAM 23155682Smarkm#define NI_DGRAM 0x01 23255682Smarkm#define NI_NAMEREQD 0x02 23355682Smarkm#define NI_NOFQDN 0x04 23455682Smarkm#define NI_NUMERICHOST 0x08 23555682Smarkm#define NI_NUMERICSERV 0x10 23655682Smarkm#endif 23755682Smarkm 23855682Smarkm/* 23955682Smarkm * constants for getnameinfo 24055682Smarkm */ 24155682Smarkm 24255682Smarkm#ifndef NI_MAXHOST 24355682Smarkm#define NI_MAXHOST 1025 24455682Smarkm#define NI_MAXSERV 32 24555682Smarkm#endif 24655682Smarkm 24755682Smarkm/* 24855682Smarkm * constants for inet_ntop 24955682Smarkm */ 25055682Smarkm 25155682Smarkm#ifndef INET_ADDRSTRLEN 25255682Smarkm#define INET_ADDRSTRLEN 16 25355682Smarkm#endif 25455682Smarkm 25555682Smarkm#ifndef INET6_ADDRSTRLEN 25655682Smarkm#define INET6_ADDRSTRLEN 46 25755682Smarkm#endif 25855682Smarkm 25955682Smarkm/* 26055682Smarkm * for shutdown(2) 26155682Smarkm */ 26255682Smarkm 26355682Smarkm#ifndef SHUT_RD 26455682Smarkm#define SHUT_RD 0 26555682Smarkm#endif 26655682Smarkm 26755682Smarkm#ifndef SHUT_WR 26855682Smarkm#define SHUT_WR 1 26955682Smarkm#endif 27055682Smarkm 27155682Smarkm#ifndef SHUT_RDWR 27255682Smarkm#define SHUT_RDWR 2 27355682Smarkm#endif 27455682Smarkm 27555682Smarkm#ifndef HAVE___ATTRIBUTE__ 27655682Smarkm#define __attribute__(x) 27755682Smarkm#endif 27855682Smarkm 27972445SassarROKEN_CPP_START 28072445Sassar 281103423Snectar#ifndef IRIX4 /* fix for compiler bug */ 282233294Sstas#ifndef _WIN32 28355682Smarkm#ifdef RETSIGTYPE 28472445Sassartypedef RETSIGTYPE (*SigAction)(int); 28555682SmarkmSigAction signal(int iSig, SigAction pAction); /* BSD compatible */ 28655682Smarkm#endif 28755682Smarkm#endif 288233294Sstas#endif 28955682Smarkm 290233294Sstas#define SE_E_UNSPECIFIED (-1) 291233294Sstas#define SE_E_FORKFAILED (-2) 292233294Sstas#define SE_E_WAITPIDFAILED (-3) 293233294Sstas#define SE_E_EXECTIMEOUT (-4) 294233294Sstas#define SE_E_NOEXEC 126 295233294Sstas#define SE_E_NOTFOUND 127 296233294Sstas 297233294Sstas#define SE_PROCSTATUS(st) (((st) >= 0 && (st) < 126)? st: -1) 298233294Sstas#define SE_PROCSIGNAL(st) (((st) >= 128)? (st) - 128: -1) 299233294Sstas#define SE_IS_ERROR(st) ((st) < 0 || (st) >= 126) 300233294Sstas 301233294Sstas 302233294Sstas#define simple_execve rk_simple_execve 303233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 304178825Sdfrsimple_execve(const char*, char*const[], char*const[]); 30555682Smarkm 306233294Sstas#define simple_execve_timed rk_simple_execve_timed 307233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 308233294Sstassimple_execve_timed(const char *, char *const[], 309233294Sstas char *const [], time_t (*)(void *), 310178825Sdfr void *, time_t); 311233294Sstas 312233294Sstas#define simple_execvp rk_simple_execvp 313233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 314178825Sdfrsimple_execvp(const char*, char *const[]); 31590926Snectar 316233294Sstas#define simple_execvp_timed rk_simple_execvp_timed 317233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 318233294Sstassimple_execvp_timed(const char *, char *const[], 319178825Sdfr time_t (*)(void *), void *, time_t); 320233294Sstas 321233294Sstas#define simple_execlp rk_simple_execlp 322233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 323178825Sdfrsimple_execlp(const char*, ...); 32455682Smarkm 325233294Sstas#define simple_execle rk_simple_execle 326233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 327178825Sdfrsimple_execle(const char*, ...); 32855682Smarkm 329233294Sstas#define wait_for_process rk_wait_for_process 330233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 331178825Sdfrwait_for_process(pid_t); 332178825Sdfr 333233294Sstas#define wait_for_process_timed rk_wait_for_process_timed 334233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 335233294Sstaswait_for_process_timed(pid_t, time_t (*)(void *), 336233294Sstas void *, time_t); 337233294Sstas 338233294Sstas#define pipe_execv rk_pipe_execv 339233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 340178825Sdfrpipe_execv(FILE**, FILE**, FILE**, const char*, ...); 341178825Sdfr 342233294Sstas#define print_version rk_print_version 343233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 344178825Sdfrprint_version(const char *); 345178825Sdfr 346233294Sstas#define eread rk_eread 347233294SstasROKEN_LIB_FUNCTION ssize_t ROKEN_LIB_CALL 348178825Sdfreread (int fd, void *buf, size_t nbytes); 349178825Sdfr 350233294Sstas#define ewrite rk_ewrite 351233294SstasROKEN_LIB_FUNCTION ssize_t ROKEN_LIB_CALL 352178825Sdfrewrite (int fd, const void *buf, size_t nbytes); 353178825Sdfr 35490926Snectarstruct hostent; 35590926Snectar 356233294Sstas#define hostent_find_fqdn rk_hostent_find_fqdn 357233294SstasROKEN_LIB_FUNCTION const char * ROKEN_LIB_CALL 358178825Sdfrhostent_find_fqdn (const struct hostent *); 35990926Snectar 360233294Sstas#define esetenv rk_esetenv 361233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 362178825Sdfresetenv(const char *, const char *, int); 36372445Sassar 364233294Sstas#define socket_set_address_and_port rk_socket_set_address_and_port 365233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 366178825Sdfrsocket_set_address_and_port (struct sockaddr *, const void *, int); 36755682Smarkm 368233294Sstas#define socket_addr_size rk_socket_addr_size 369233294SstasROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL 370178825Sdfrsocket_addr_size (const struct sockaddr *); 37155682Smarkm 372233294Sstas#define socket_set_any rk_socket_set_any 373233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 374178825Sdfrsocket_set_any (struct sockaddr *, int); 37555682Smarkm 376233294Sstas#define socket_sockaddr_size rk_socket_sockaddr_size 377233294SstasROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL 378178825Sdfrsocket_sockaddr_size (const struct sockaddr *); 37955682Smarkm 380233294Sstas#define socket_get_address rk_socket_get_address 381233294SstasROKEN_LIB_FUNCTION void * ROKEN_LIB_CALL 382233294Sstassocket_get_address (const struct sockaddr *); 38355682Smarkm 384233294Sstas#define socket_get_port rk_socket_get_port 385233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 386178825Sdfrsocket_get_port (const struct sockaddr *); 38755682Smarkm 388233294Sstas#define socket_set_port rk_socket_set_port 389233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 390178825Sdfrsocket_set_port (struct sockaddr *, int); 39155682Smarkm 392233294Sstas#define socket_set_portrange rk_socket_set_portrange 393233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 394233294Sstassocket_set_portrange (rk_socket_t, int, int); 39590926Snectar 396233294Sstas#define socket_set_debug rk_socket_set_debug 397233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 398233294Sstassocket_set_debug (rk_socket_t); 39955682Smarkm 400233294Sstas#define socket_set_tos rk_socket_set_tos 401233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 402233294Sstassocket_set_tos (rk_socket_t, int); 40355682Smarkm 404233294Sstas#define socket_set_reuseaddr rk_socket_set_reuseaddr 405233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 406233294Sstassocket_set_reuseaddr (rk_socket_t, int); 40755682Smarkm 408233294Sstas#define socket_set_ipv6only rk_socket_set_ipv6only 409233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 410233294Sstassocket_set_ipv6only (rk_socket_t, int); 411178825Sdfr 412233294Sstas#define socket_to_fd rk_socket_to_fd 413233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 414233294Sstassocket_to_fd(rk_socket_t, int); 415233294Sstas 416233294Sstas#define vstrcollect rk_vstrcollect 417233294SstasROKEN_LIB_FUNCTION char ** ROKEN_LIB_CALL 41857416Smarkmvstrcollect(va_list *ap); 41957416Smarkm 420233294Sstas#define strcollect rk_strcollect 421233294SstasROKEN_LIB_FUNCTION char ** ROKEN_LIB_CALL 42257416Smarkmstrcollect(char *first, ...); 42357416Smarkm 424233294Sstas#define timevalfix rk_timevalfix 425233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 426178825Sdfrtimevalfix(struct timeval *t1); 42757419Smarkm 428233294Sstas#define timevaladd rk_timevaladd 429233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 430178825Sdfrtimevaladd(struct timeval *t1, const struct timeval *t2); 43172445Sassar 432233294Sstas#define timevalsub rk_timevalsub 433233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 434178825Sdfrtimevalsub(struct timeval *t1, const struct timeval *t2); 435178825Sdfr 436233294Sstas#define pid_file_write rk_pid_file_write 437233294SstasROKEN_LIB_FUNCTION char * ROKEN_LIB_CALL 438178825Sdfrpid_file_write (const char *progname); 439178825Sdfr 440233294Sstas#define pid_file_delete rk_pid_file_delete 441233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 442178825Sdfrpid_file_delete (char **); 443178825Sdfr 444233294Sstas#define read_environment rk_read_environment 445233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 44672445Sassarread_environment(const char *file, char ***env); 44772445Sassar 448233294Sstas#define free_environment rk_free_environment 449233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 450178825Sdfrfree_environment(char **); 451178825Sdfr 452233294Sstas#define warnerr rk_warnerr 453233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 454233294Sstasrk_warnerr(int doerrno, const char *fmt, va_list ap) 45572445Sassar __attribute__ ((format (printf, 2, 0))); 45672445Sassar 457233294SstasROKEN_LIB_FUNCTION void * ROKEN_LIB_CALL 458178825Sdfrrk_realloc(void *, size_t); 459178825Sdfr 460178825Sdfrstruct rk_strpool; 461178825Sdfr 462233294SstasROKEN_LIB_FUNCTION char * ROKEN_LIB_CALL 463178825Sdfrrk_strpoolcollect(struct rk_strpool *); 464178825Sdfr 465233294SstasROKEN_LIB_FUNCTION struct rk_strpool * ROKEN_LIB_CALL 466178825Sdfrrk_strpoolprintf(struct rk_strpool *, const char *, ...) 467178825Sdfr __attribute__ ((format (printf, 2, 3))); 468178825Sdfr 469233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 470178825Sdfrrk_strpoolfree(struct rk_strpool *); 471178825Sdfr 472233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 473178825Sdfrrk_dumpdata (const char *, const void *, size_t); 474178825Sdfr 475233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 476233294Sstasrk_undumpdata (const char *, void **, size_t *); 477233294Sstas 478233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 479233294Sstasrk_xfree (void *); 480233294Sstas 481233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 482233294Sstasrk_cloexec(int); 483233294Sstas 484233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 485233294Sstasrk_cloexec_file(FILE *); 486233294Sstas 487233294SstasROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 488233294Sstasrk_cloexec_dir(DIR *); 489233294Sstas 490233294SstasROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 491233294Sstasct_memcmp(const void *, const void *, size_t); 492233294Sstas 493233294Sstasvoid ROKEN_LIB_FUNCTION 494233294Sstasrk_random_init(void); 495233294Sstas 49672445SassarROKEN_CPP_END 49772445Sassar 49855682Smarkm#endif /* __ROKEN_COMMON_H__ */ 499