ReactOS 0.4.16-dev-340-g0540c21
rpc_com.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define RPC_MAXDATASIZE   9000
 
#define RPC_MAXADDRSIZE   1024
 
#define __RPC_GETXID(now)
 

Functions

__BEGIN_DECLS u_int __rpc_get_a_size (int)
 
int __rpc_dtbsize (void)
 
int _rpc_dtablesize (void)
 
struct netconfig__rpcgettp (int)
 
int __rpc_get_default_domain (char **)
 
char__rpc_taddr2uaddr_af (int, const struct netbuf *)
 
struct netbuf__rpc_uaddr2taddr_af (int, const char *)
 
int __rpc_fixup_addr (struct netbuf *, const struct netbuf *)
 
int __rpc_sockinfo2netid (struct __rpc_sockinfo *, const char **)
 
int __rpc_seman2socktype (int)
 
int __rpc_socktype2seman (int)
 
voidrpc_nullproc (CLIENT *)
 
int __rpc_sockisbound (SOCKET)
 
struct netbuf__rpcb_findaddr (rpcprog_t, rpcvers_t, const struct netconfig *, const char *, CLIENT **)
 
bool_t rpc_control (int, void *)
 
char_get_next_token (char *, int)
 

Macro Definition Documentation

◆ __RPC_GETXID

#define __RPC_GETXID (   now)
Value:
((u_int32_t)getpid() ^ (u_int32_t)(now)->tv_sec ^ \
(u_int32_t)(now)->tv_usec)
time_t now
Definition: finger.c:65
unsigned int u_int32_t
Definition: rosdhcp.h:35
#define getpid
Definition: wintirpc.h:52

Definition at line 59 of file rpc_com.h.

◆ RPC_MAXADDRSIZE

#define RPC_MAXADDRSIZE   1024

Definition at line 53 of file rpc_com.h.

◆ RPC_MAXDATASIZE

#define RPC_MAXDATASIZE   9000

Definition at line 52 of file rpc_com.h.

Function Documentation

◆ __rpc_dtbsize()

int __rpc_dtbsize ( void  )

Definition at line 110 of file rpc_generic.c.

111{
112#ifdef _WIN32
114#else
115
116 static int tbsize;
117 struct rlimit rl;
118
119 if (tbsize) {
120 return (tbsize);
121 }
122 if (getrlimit(RLIMIT_NOFILE, &rl) == 0) {
123 return (tbsize = (int)rl.rlim_max);
124 }
125 /*
126 * Something wrong. I'll try to save face by returning a
127 * pessimistic number.
128 */
129 return (32);
130#endif
131}
#define WINSOCK_HANDLE_HASH_SIZE
Definition: wintirpc.h:69

◆ __rpc_fixup_addr()

int __rpc_fixup_addr ( struct netbuf new,
const struct netbuf svc 
)

Definition at line 883 of file rpc_generic.c.

884{
885#ifdef INET6
886 struct sockaddr *sa_new, *sa_svc;
887 struct sockaddr_in6 *sin6_new, *sin6_svc;
888
889 sa_svc = (struct sockaddr *)svc->buf;
890 sa_new = (struct sockaddr *)new->buf;
891
892 if (sa_new->sa_family == sa_svc->sa_family &&
893 sa_new->sa_family == AF_INET6) {
894 sin6_new = (struct sockaddr_in6 *)new->buf;
895 sin6_svc = (struct sockaddr_in6 *)svc->buf;
896
897 if ((IN6_IS_ADDR_LINKLOCAL(&sin6_new->sin6_addr) &&
898 IN6_IS_ADDR_LINKLOCAL(&sin6_svc->sin6_addr)) ||
899 (IN6_IS_ADDR_SITELOCAL(&sin6_new->sin6_addr) &&
900 IN6_IS_ADDR_SITELOCAL(&sin6_svc->sin6_addr))) {
901 sin6_new->sin6_scope_id = sin6_svc->sin6_scope_id;
902 }
903 }
904#endif
905 return 1;
906}
#define IN6_IS_ADDR_LINKLOCAL(a)
Definition: inet.h:131
#define IN6_IS_ADDR_SITELOCAL(a)
Definition: inet.h:132
void * buf
Definition: types.h:147
ULONG sin6_scope_id
Definition: ws2ipdef.h:184
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:182
u_short sa_family
Definition: winsock.h:217
#define new(TYPE, numElems)
Definition: treelist.c:54
#define AF_INET6
Definition: winsock.h:369

◆ __rpc_get_a_size()

__BEGIN_DECLS u_int __rpc_get_a_size ( int  af)

Definition at line 172 of file rpc_generic.c.

174{
175 switch (af) {
176 case AF_INET:
177 return sizeof (struct sockaddr_in);
178#ifdef INET6
179 case AF_INET6:
180 return sizeof (struct sockaddr_in6);
181#endif
182#ifdef AF_LOCAL
183 case AF_LOCAL:
184 return sizeof (struct sockaddr_un);
185#endif
186 default:
187 break;
188 }
189 return ((u_int)RPC_MAXADDRSIZE);
190}
UINT32 u_int
Definition: types.h:82
#define AF_INET
Definition: tcpip.h:117
#define RPC_MAXADDRSIZE
Definition: rpc_com.h:52

Referenced by __rpc_nconf2sockinfo().

◆ __rpc_get_default_domain()

int __rpc_get_default_domain ( char **  domain)

Definition at line 72 of file rpcdname.c.

74{
75 if ((*domain = get_default_domain()) != 0)
76 return (0);
77 return (-1);
78}
static char * get_default_domain()
Definition: rpcdname.c:43
Definition: cookie.c:42

◆ __rpc_seman2socktype()

int __rpc_seman2socktype ( int  semantics)

Definition at line 842 of file rpc_generic.c.

843{
844 switch (semantics) {
845 case NC_TPI_CLTS:
846 return SOCK_DGRAM;
847 case NC_TPI_COTS_ORD:
848 return SOCK_STREAM;
849 case NC_TPI_RAW:
850 return SOCK_RAW;
851 default:
852 break;
853 }
854
855 return -1;
856}
#define SOCK_STREAM
Definition: tcpip.h:118
#define NC_TPI_CLTS
Definition: netconfig.h:35
#define NC_TPI_COTS_ORD
Definition: netconfig.h:37
#define NC_TPI_RAW
Definition: netconfig.h:38
#define SOCK_RAW
Definition: winsock.h:337
#define SOCK_DGRAM
Definition: winsock.h:336

Referenced by __rpc_nconf2sockinfo().

◆ __rpc_sockinfo2netid()

int __rpc_sockinfo2netid ( struct __rpc_sockinfo sip,
const char **  netid 
)

Definition at line 580 of file rpc_generic.c.

581{
582 int i;
583 struct netconfig *nconf;
584
585 nconf = getnetconfigent("local");
586
587 for (i = 0; i < (sizeof na_cvt) / (sizeof (struct netid_af)); i++) {
588 if (na_cvt[i].af == sip->si_af &&
589 na_cvt[i].protocol == sip->si_proto) {
590 if (strcmp(na_cvt[i].netid, "local") == 0 && nconf == NULL) {
591 if (netid)
592 *netid = "unix";
593 } else {
594 if (netid)
595 *netid = na_cvt[i].netid;
596 }
597 if (nconf != NULL)
598 freenetconfigent(nconf);
599 return 1;
600 }
601 }
602 if (nconf != NULL)
603 freenetconfigent(nconf);
604
605 return 0;
606}
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469
#define NULL
Definition: types.h:112
void freenetconfigent(struct netconfig *netconfigp)
Definition: getnetconfig.c:530
struct netconfig * getnetconfigent(char *netid) const
Definition: getnetconfig.c:432
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
static const struct netid_af na_cvt[]
Definition: rpc_generic.c:88
ADDRESS_FAMILY si_af
Definition: types.h:165
int si_proto
Definition: types.h:166

Referenced by __rpcgettp().

◆ __rpc_sockisbound()

int __rpc_sockisbound ( SOCKET  fd)

Definition at line 909 of file rpc_generic.c.

910{
911 struct sockaddr_storage ss;
912 union {
913 struct sockaddr_in sin;
914 struct sockaddr_in6 sin6;
915#ifdef AF_LOCAL
916 struct sockaddr_un usin;
917#endif
918 } u_addr;
919 socklen_t slen;
920
921 slen = sizeof (struct sockaddr_storage);
922 if (getsockname(fd, (struct sockaddr *)(void *)&ss, &slen) == SOCKET_ERROR)
923 return 0;
924
925 switch (ss.ss_family) {
926 case AF_INET:
927 memcpy(&u_addr.sin, &ss, sizeof(u_addr.sin));
928 return (u_addr.sin.sin_port != 0);
929#ifdef INET6
930 case AF_INET6:
931 memcpy(&u_addr.sin6, &ss, sizeof(u_addr.sin6));
932 return (u_addr.sin6.sin6_port != 0);
933#endif
934#ifdef AF_LOCAL
935 case AF_LOCAL:
936 /* XXX check this */
937 memcpy(&u_addr.usin, &ss, sizeof(u_addr.usin));
938 return (u_addr.usin.sun_path[0] != 0);
939#endif
940 default:
941 break;
942 }
943
944 return 0;
945}
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
#define ss
Definition: i386-dis.c:441
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
int socklen_t
Definition: tcp.c:35
static int fd
Definition: io.c:51
INT WSAAPI getsockname(IN SOCKET s, OUT LPSOCKADDR name, IN OUT INT FAR *namelen)
Definition: sockctrl.c:213
#define SOCKET_ERROR
Definition: winsock.h:333

◆ __rpc_socktype2seman()

int __rpc_socktype2seman ( int  socktype)

Definition at line 859 of file rpc_generic.c.

860{
861 switch (socktype) {
862 case SOCK_DGRAM:
863 return NC_TPI_CLTS;
864 case SOCK_STREAM:
865 return NC_TPI_COTS_ORD;
866 case SOCK_RAW:
867 return NC_TPI_RAW;
868 default:
869 break;
870 }
871
872 return -1;
873}

◆ __rpc_taddr2uaddr_af()

char * __rpc_taddr2uaddr_af ( int  af,
const struct netbuf nbuf 
)

Definition at line 663 of file rpc_generic.c.

664{
665 char *ret;
666 struct sockaddr_in *sin;
667#ifdef AF_LOCAL
668 struct sockaddr_un *sun;
669#endif
670 char namebuf[INET_ADDRSTRLEN];
671#ifdef INET6
672 struct sockaddr_in6 *sin6;
673 char namebuf6[INET6_ADDRSTRLEN];
674#endif
676
677 if (nbuf->len <= 0)
678 return NULL;
679
680 switch (af) {
681 case AF_INET:
682#ifdef __REACTOS__ // CVE-2017-8779
683 if (nbuf->len < sizeof(*sin)) {
684 return NULL;
685 }
686#endif
687 sin = nbuf->buf;
688 if (inet_ntop(af, &sin->sin_addr, namebuf, sizeof namebuf)
689 == NULL)
690 return NULL;
691 port = ntohs(sin->sin_port);
692 if (asprintf(&ret, "%s.%u.%u", namebuf, ((u_int32_t)port) >> 8,
693 port & 0xff) < 0)
694 return NULL;
695 break;
696#ifdef INET6
697 case AF_INET6:
698#ifdef __REACTOS__ // CVE-2017-8779
699 if (nbuf->len < sizeof(*sin6)) {
700 return NULL;
701 }
702#endif
703 sin6 = nbuf->buf;
704 if (inet_ntop(af, &sin6->sin6_addr, namebuf6, sizeof namebuf6)
705 == NULL)
706 return NULL;
707 port = ntohs(sin6->sin6_port);
708 if (asprintf(&ret, "%s.%u.%u", namebuf6, ((u_int32_t)port) >> 8,
709 port & 0xff) < 0)
710 return NULL;
711 break;
712#endif
713#ifdef AF_LOCAL
714 case AF_LOCAL:
715 sun = nbuf->buf;
716 /* if (asprintf(&ret, "%.*s", (int)(sun->sun_len -
717 offsetof(struct sockaddr_un, sun_path)),
718 sun->sun_path) < 0)*/
719 if (asprintf(&ret, "%.*s", (int)(sizeof(*sun) -
720 offsetof(struct sockaddr_un, sun_path)),
721 sun->sun_path) < 0)
722
723 return (NULL);
724 break;
725#endif
726 default:
727 return NULL;
728 }
729
730 return ret;
731}
int asprintf(char **str, const char *fmt,...)
Definition: asprintf.c:95
USHORT port
Definition: uri.c:228
#define INET_ADDRSTRLEN
Definition: inet.h:142
#define ntohs(x)
Definition: module.h:210
unsigned short u_int16_t
Definition: rosdhcp.h:34
#define offsetof(TYPE, MEMBER)
unsigned int len
Definition: types.h:146
USHORT sin6_port
Definition: ws2ipdef.h:180
char sun_path[MAX_PATH]
Definition: wintirpc.h:90
const char *WSAAPI inet_ntop(int af, const void *src, char *dst, size_t cnt)
Definition: unix_func.c:8
int ret
#define INET6_ADDRSTRLEN
Definition: ws2ipdef.h:132

Referenced by taddr2uaddr().

◆ __rpc_uaddr2taddr_af()

struct netbuf * __rpc_uaddr2taddr_af ( int  af,
const char uaddr 
)

Definition at line 734 of file rpc_generic.c.

735{
736 struct netbuf *ret = NULL;
737 char *addrstr, *p;
738 unsigned short port, portlo, porthi;
739 struct sockaddr_in *sin;
740#ifdef INET6
741 struct sockaddr_in6 *sin6;
742#endif
743#ifdef AF_LOCAL
744 struct sockaddr_un *sun;
745#endif
746
747 port = 0;
748 sin = NULL;
749#ifdef __REACTOS__ // CVE-2017-8779
750 if (uaddr == NULL)
751 return NULL;
752#endif
753 addrstr = strdup(uaddr);
754 if (addrstr == NULL)
755 return NULL;
756
757 /*
758 * AF_LOCAL addresses are expected to be absolute
759 * pathnames, anything else will be AF_INET or AF_INET6.
760 */
761 if (*addrstr != '/') {
762 p = strrchr(addrstr, '.');
763 if (p == NULL)
764 goto out;
765 portlo = (unsigned)atoi(p + 1);
766 *p = '\0';
767
768 p = strrchr(addrstr, '.');
769 if (p == NULL)
770 goto out;
771 porthi = (unsigned)atoi(p + 1);
772 *p = '\0';
773 port = (porthi << 8) | portlo;
774 }
775
776 ret = (struct netbuf *)malloc(sizeof *ret);
777 if (ret == NULL)
778 goto out;
779
780 switch (af) {
781 case AF_INET:
782 sin = (struct sockaddr_in *)malloc(sizeof *sin);
783 if (sin == NULL)
784 goto out;
785 memset(sin, 0, sizeof *sin);
786 sin->sin_family = AF_INET;
787 sin->sin_port = htons(port);
788#ifndef __REACTOS__
789 if (inet_pton(AF_INET, addrstr, &sin->sin_addr) <= 0) {
790#else
791 sin->sin_addr.S_un.S_addr = inet_addr(addrstr);
792 if (sin->sin_addr.S_un.S_addr == INADDR_NONE) {
793#endif
794 free(sin);
795 free(ret);
796 ret = NULL;
797 goto out;
798 }
799 ret->maxlen = ret->len = sizeof *sin;
800 ret->buf = sin;
801 break;
802#ifdef INET6
803 case AF_INET6:
804 sin6 = (struct sockaddr_in6 *)malloc(sizeof *sin6);
805 if (sin6 == NULL)
806 goto out;
807 memset(sin6, 0, sizeof *sin6);
808 sin6->sin6_family = AF_INET6;
809 sin6->sin6_port = htons(port);
810 if (inet_pton(AF_INET6, addrstr, &sin6->sin6_addr) <= 0) {
811 free(sin6);
812 free(ret);
813 ret = NULL;
814 goto out;
815 }
816 ret->maxlen = ret->len = sizeof *sin6;
817 ret->buf = sin6;
818 break;
819#endif
820#ifdef AF_LOCAL
821 case AF_LOCAL:
822 sun = (struct sockaddr_un *)malloc(sizeof *sun);
823 if (sun == NULL)
824 goto out;
825 memset(sun, 0, sizeof *sun);
826 sun->sun_family = AF_LOCAL;
827 strncpy(sun->sun_path, addrstr, sizeof(sun->sun_path) - 1);
828 ret->len = SUN_LEN(sun);
829 ret->maxlen = sizeof(struct sockaddr_un);
830 ret->buf = sun;
831 break;
832#endif
833 default:
834 break;
835 }
836out:
837 free(addrstr);
838 return ret;
839}
char * strncpy(char *DstString, const char *SrcString, ACPI_SIZE Count)
Definition: utclib.c:427
ULONG WSAAPI inet_addr(IN CONST CHAR FAR *cp)
Definition: addrconv.c:71
INT WSAAPI inet_pton(_In_ INT Family, _In_ PCSTR pszAddrString, _Out_writes_bytes_(sizeof(IN_ADDR6)) PVOID pAddrBuf)
Definition: addrconv.c:563
#define INADDR_NONE
Definition: tcp.c:42
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
GLfloat GLfloat p
Definition: glext.h:8902
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
#define htons(x)
Definition: module.h:215
static unsigned(__cdecl *hash_bstr)(bstr_t s)
static FILE * out
Definition: regtests2xml.c:44
_Check_return_ _CRTIMP char *__cdecl strdup(_In_opt_z_ const char *_Src)
_CRT_RESTORE_GCC_WARNINGS _CRT_DISABLE_GCC_WARNINGS _Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
#define memset(x, y, z)
Definition: compat.h:39
Definition: types.h:144
ADDRESS_FAMILY sin6_family
Definition: ws2ipdef.h:179
int sun_family
Definition: wintirpc.h:89
#define SUN_LEN(ptr)
Definition: wintirpc.h:94

Referenced by uaddr2taddr().

◆ __rpcb_findaddr()

struct netbuf * __rpcb_findaddr ( rpcprog_t  ,
rpcvers_t  ,
const struct netconfig ,
const char ,
CLIENT **   
)

◆ __rpcgettp()

struct netconfig * __rpcgettp ( int  )

◆ _get_next_token()

char * _get_next_token ( char npp,
int  token 
)

Definition at line 228 of file getnetpath.c.

231{
232 char *cp; /* char pointer */
233 char *np; /* netpath pointer */
234 char *ep; /* escape pointer */
235
236 if ((cp = strchr(npp, token)) == NULL) {
237 return (NULL);
238 }
239 /*
240 * did find a token, but it might be escaped.
241 */
242 if ((cp > npp) && (cp[-1] == '\\')) {
243 /* if slash was also escaped, carry on, otherwise find next token */
244 if ((cp > npp + 1) && (cp[-2] != '\\')) {
245 /* shift r-o-s onto the escaped token */
246 strcpy(&cp[-1], cp); /* XXX: overlapping string copy */
247 /*
248 * Do a recursive call.
249 * We don't know how many escaped tokens there might be.
250 */
251 return (_get_next_token(cp, token));
252 }
253 }
254
255 *cp++ = '\0'; /* null-terminate token */
256 /* get rid of any backslash escapes */
257 ep = npp;
258 while ((np = strchr(ep, '\\')) != 0) {
259 if (np[1] == '\\')
260 np++;
261 strcpy(np, (ep = &np[1])); /* XXX: overlapping string copy */
262 }
263 return (cp); /* return ptr to r-o-s */
264}
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388
char * strchr(const char *String, int ch)
Definition: utclib.c:501
char * _get_next_token(char *, int)
Definition: getnetpath.c:228
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
Definition: glfuncs.h:210
POINT cp
Definition: magnifier.c:59

Referenced by _get_next_token(), getnetpath(), and parse_ncp().

◆ _rpc_dtablesize()

int _rpc_dtablesize ( void  )

Definition at line 48 of file rpc_dtablesize.c.

49{
50#ifdef _WIN32
51 return FD_SETSIZE;
52#else
53 static int size;
54
55 if (size == 0) {
56 size = getdtablesize();
57 if (size > FD_SETSIZE)
59 }
60 return (size);
61#endif
62}
GLsizeiptr size
Definition: glext.h:5919
#define FD_SETSIZE
Definition: winsock.h:50

Referenced by __rpc_get_time_offset().

◆ rpc_control()

bool_t rpc_control ( int  what,
void arg 
)

Definition at line 784 of file svc.c.

785{
786 int val;
787
788 switch (what)
789 {
791 val = *(int *) arg;
792 if (val <= 0)
793 return FALSE;
795 return TRUE;
797 *(int *) arg = __svc_maxrec;
798 return TRUE;
799 default:
800 break;
801 }
802 return FALSE;
803}
#define RPC_SVC_CONNMAXREC_SET
Definition: svc.h:78
#define RPC_SVC_CONNMAXREC_GET
Definition: svc.h:79
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
GLuint GLfloat * val
Definition: glext.h:7180
int __svc_maxrec

◆ rpc_nullproc()

void * rpc_nullproc ( CLIENT clnt)

Definition at line 447 of file rpc_generic.c.

449{
450 struct timeval TIMEOUT = {25, 0};
451
454 return (NULL);
455 }
456 return ((void *) clnt);
457}
bool_t xdr_void(void)
Definition: xdr.c:92
#define NULLPROC
Definition: clnt.h:294
#define clnt_call(rh, proc, xargs, argsp, xres, resp, secs)
Definition: clnt.h:202
@ RPC_SUCCESS
Definition: clnt_stat.h:22
#define TIMEOUT
Definition: ntpclient.c:12
bool_t(* xdrproc_t)(XDR *,...)
Definition: xdr.h:144