summaryrefslogtreecommitdiffstats
path: root/include/sh_static.h
blob: 0f06ee75133cd2599a252e3212cbfabe2a906b7d (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef SH_STATIC_H
#define SH_STATIC_H

#include "config_xor.h"

#if defined(SH_COMPILE_STATIC) && defined(__linux__)

#ifdef SH_NEED_PWD_GRP
int  sh_initgroups(const char *user, gid_t gid);
struct group * sh_getgrent(void);
struct passwd * sh_getpwent(void);
void  sh_endgrent(void);
void  sh_setgrent(void);
void  sh_endpwent(void);
void  sh_setpwent(void);
struct group * sh_getgrnam(const char *name);
int sh_getgrnam_r(const char *name, struct group *gbuf,
               char *buf, size_t buflen, struct group **gbufp);

struct passwd * sh_getpwnam(const char *name);
int sh_getpwnam_r(const char *name, struct passwd *pwbuf,
               char *buf, size_t buflen, struct passwd **pwbufp);

struct group * sh_getgrgid(gid_t gid);
int sh_getgrgid_r(gid_t gid, struct group *gbuf,
	       char *buf, size_t buflen, struct group **gbufp);

struct passwd * sh_getpwuid(uid_t uid);
int sh_getpwuid_r(uid_t uid, struct passwd *pwbuf,
               char *buf, size_t buflen, struct passwd **pwbufp);

#endif

#ifdef SH_NEED_GETHOSTBYXXX
struct hostent * sh_gethostbyaddr (const void *addr, socklen_t len, int type);
struct hostent * sh_gethostbyname(const char *name);
#endif

#else

#define sh_initgroups initgroups
#define sh_getgrnam   getgrnam
#define sh_getgrnam_r getgrnam_r
#define sh_getgrgid   getgrgid
#define sh_getgrgid_r getgrgid_r
#define sh_getpwnam   getpwnam
#define sh_getpwnam_r getpwnam_r
#define sh_getpwuid   getpwuid
#define sh_getpwuid_r getpwuid_r
#define sh_getpwent   getpwent
#define sh_endpwent   endpwent
#define sh_setpwent   setpwent

#define sh_gethostbyaddr gethostbyaddr
#define sh_gethostbyname gethostbyname

#endif 

#endif