ReactOS  0.4.14-dev-614-gbfd8a84
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
_CRTIMP int __cdecl getpid(void)
#define u_int32_t
Definition: icmp.c:103

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
113  return (WINSOCK_HANDLE_HASH_SIZE);
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 ,
const struct netbuf  
)

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 new(TYPE, numElems)
Definition: treelist.c:54
ULONG sin6_scope_id
Definition: ws2ipdef.h:184
#define AF_INET6
Definition: winsock.h:369
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:182
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_SITELOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:371
u_short sa_family
Definition: winsock.h:217
WS2TCPIP_INLINE BOOLEAN IN6_IS_ADDR_LINKLOCAL(CONST IN6_ADDR *a)
Definition: ws2ipdef.h:364

◆ __rpc_get_a_size()

__BEGIN_DECLS u_int __rpc_get_a_size ( int  )

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 }
#define AF_INET6
Definition: winsock.h:369
#define RPC_MAXADDRSIZE
Definition: rpc_com.h:52
UINT32 u_int
Definition: types.h:82
#define AF_INET
Definition: tcpip.h:117

Referenced by __rpc_nconf2sockinfo().

◆ __rpc_get_default_domain()

int __rpc_get_default_domain ( char **  )

Definition at line 72 of file rpcdname.c.

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

◆ __rpc_seman2socktype()

int __rpc_seman2socktype ( int  )

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 NC_TPI_CLTS
Definition: netconfig.h:30
#define SOCK_RAW
Definition: winsock.h:337
#define NC_TPI_COTS_ORD
Definition: netconfig.h:32
#define NC_TPI_RAW
Definition: netconfig.h:33
#define SOCK_STREAM
Definition: tcpip.h:118
#define SOCK_DGRAM
Definition: winsock.h:336

Referenced by __rpc_nconf2sockinfo().

◆ __rpc_sockinfo2netid()

int __rpc_sockinfo2netid ( struct __rpc_sockinfo ,
const char **   
)

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 }
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
void freenetconfigent(struct netconfig *netconfigp)
Definition: getnetconfig.c:530
smooth NULL
Definition: ftsmooth.c:416
struct netconfig * getnetconfigent(char *netid) const
Definition: getnetconfig.c:432
static const struct netid_af na_cvt[]
Definition: rpc_generic.c:88
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469

Referenced by __rpcgettp().

◆ __rpc_sockisbound()

int __rpc_sockisbound ( SOCKET  )

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 }
#define SOCKET_ERROR
Definition: winsock.h:333
static int fd
Definition: io.c:51
#define AF_INET6
Definition: winsock.h:369
int socklen_t
Definition: tcp.c:35
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define AF_INET
Definition: tcpip.h:117
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
#define ss
Definition: i386-dis.c:432
INT WSAAPI getsockname(IN SOCKET s, OUT LPSOCKADDR name, IN OUT INT FAR *namelen)
Definition: sockctrl.c:213

◆ __rpc_socktype2seman()

int __rpc_socktype2seman ( int  )

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 }
#define NC_TPI_CLTS
Definition: netconfig.h:30
#define SOCK_RAW
Definition: winsock.h:337
#define NC_TPI_COTS_ORD
Definition: netconfig.h:32
#define NC_TPI_RAW
Definition: netconfig.h:33
#define SOCK_STREAM
Definition: tcpip.h:118
#define SOCK_DGRAM
Definition: winsock.h:336

◆ __rpc_taddr2uaddr_af()

char* __rpc_taddr2uaddr_af ( int  ,
const struct netbuf  
)

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
675  u_int16_t port;
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 }
USHORT sin6_port
Definition: ws2ipdef.h:180
char sun_path[MAX_PATH]
Definition: wintirpc.h:90
#define ntohs(x)
Definition: module.h:208
int asprintf(char **str, const char *fmt,...)
Definition: asprintf.c:95
smooth NULL
Definition: ftsmooth.c:416
#define offsetof(TYPE, MEMBER)
#define AF_INET6
Definition: winsock.h:369
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:182
unsigned short u_int16_t
Definition: rosdhcp.h:34
int ret
#define INET_ADDRSTRLEN
Definition: ws2ipdef.h:131
unsigned int u_int32_t
Definition: rosdhcp.h:35
#define INET6_ADDRSTRLEN
Definition: ws2ipdef.h:132
#define AF_INET
Definition: tcpip.h:117
const char *WSAAPI inet_ntop(int af, const void *src, char *dst, size_t cnt)
Definition: unix_func.c:8
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
USHORT port
Definition: uri.c:228

Referenced by taddr2uaddr().

◆ __rpc_uaddr2taddr_af()

struct netbuf* __rpc_uaddr2taddr_af ( int  ,
const char  
)

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  }
836 out:
837  free(addrstr);
838  return ret;
839 }
#define inet_addr(cp)
Definition: inet.h:98
ADDRESS_FAMILY sin6_family
Definition: ws2ipdef.h:179
USHORT sin6_port
Definition: ws2ipdef.h:180
char * strncpy(char *DstString, const char *SrcString, ACPI_SIZE Count)
Definition: utclib.c:427
#define free
Definition: debug_ros.c:5
#define INADDR_NONE
Definition: tcp.c:42
char sun_path[MAX_PATH]
Definition: wintirpc.h:90
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
_Check_return_ _CRTIMP char *__cdecl strdup(_In_opt_z_ const char *_Src)
smooth NULL
Definition: ftsmooth.c:416
#define AF_INET6
Definition: winsock.h:369
#define SUN_LEN(ptr)
Definition: wintirpc.h:94
IN6_ADDR sin6_addr
Definition: ws2ipdef.h:182
static FILE * out
Definition: regtests2xml.c:44
int ret
Definition: types.h:144
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
WINSOCK_API_LINKAGE INT WSAAPI inet_pton(_In_ INT Family, _In_ PCSTR pszAddrString, _Out_writes_bytes_(sizeof(IN6_ADDR)) PVOID pAddrBuf)
#define AF_INET
Definition: tcpip.h:117
#define malloc
Definition: debug_ros.c:4
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
int sun_family
Definition: wintirpc.h:89
GLfloat GLfloat p
Definition: glext.h:8902
#define htons(x)
Definition: module.h:213
USHORT port
Definition: uri.c:228
#define memset(x, y, z)
Definition: compat.h:39
static unsigned(__cdecl *hash_bstr)(bstr_t s)

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 ,
int   
)

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 * _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
smooth NULL
Definition: ftsmooth.c:416
char * strchr(const char *String, int ch)
Definition: utclib.c:501
POINT cp
Definition: magnifier.c:59
char * strcpy(char *DstString, const char *SrcString)
Definition: utclib.c:388

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)
58  size = FD_SETSIZE;
59  }
60  return (size);
61 #endif
62 }
#define FD_SETSIZE
Definition: winsock.h:50
GLsizeiptr size
Definition: glext.h:5919

Referenced by __rpc_get_time_offset().

◆ rpc_control()

bool_t rpc_control ( int  ,
void  
)

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;
794  __svc_maxrec = val;
795  return TRUE;
797  *(int *) arg = __svc_maxrec;
798  return TRUE;
799  default:
800  break;
801  }
802  return FALSE;
803 }
#define TRUE
Definition: types.h:120
#define RPC_SVC_CONNMAXREC_SET
Definition: svc.h:78
GLuint GLfloat * val
Definition: glext.h:7180
#define RPC_SVC_CONNMAXREC_GET
Definition: svc.h:79
int __svc_maxrec
Definition: rpc_com.h:97

◆ rpc_nullproc()

void* rpc_nullproc ( CLIENT )

Definition at line 447 of file rpc_generic.c.

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