rpc_control(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

rpc_control(3c)

rpc_control(3C)          Standard C Library Functions          rpc_control(3C)

NAME
       rpc_control  -  library  routine for manipulating global RPC attributes
       for client and server applications

SYNOPSIS
       bool_t rpc_control(int op, void *info);

DESCRIPTION
       This RPC library routine allows applications to set and  modify  global
       RPC attributes that apply to clients as well as servers. At present, it
       supports only server-side operations. This function allows applications
       to  set  and  modify  global attributes that apply to client as well as
       server functions. op indicates the type of operation,  and  info  is  a
       pointer  to the operation specific information. The supported values of
       op and their argument types, and what they do are:

         RPC_SVC_MTMODE_SET       int *     set multithread mode
         RPC_SVC_MTMODE_GET       int *     get multithread mode
         RPC_SVC_THRMAX_SET       int *     set maximum number of threads
         RPC_SVC_THRMAX_GET       int *     get maximum number of threads
         RPC_SVC_THRTOTAL_GET     int *     get number of active threads
         RPC_SVC_THRCREATES_GET   int *     get number of threads created
         RPC_SVC_THRERRORS_GET    int *     get number of thread create errors
         RPC_SVC_USE_POLLFD       int *     set number of file descriptors to unlimited
         RPC_SVC_CONNMAXREC_SET   int *  set non-blocking max rec size
         RPC_SVC_CONNMAXREC_GET   int *  get non-blocking max rec size



       There are three multithread (MT) modes. These are:

         RPC_SVC_MT_NONE     Single threaded mode     (default)
         RPC_SVC_MT_AUTO     Automatic MT mode
         RPC_SVC_MT_USER     User MT mode



       Unless the application sets the Automatic or User  MT  modes,  it  will
       stay  in  the  default  (single threaded) mode. See the ONC+ RPC Devel‐
       oper's Guide for the meanings of these modes and programming  examples.
       Once a mode is set, it cannot be changed.


       By  default,  the maximum number of threads that the server will create
       at any time is 16. This allows the service developer to put a bound  on
       thread  resources  consumed  by  a server. If a server needs to process
       more than 16  client  requests  concurrently,  the  maximum  number  of
       threads must be set to the desired number. This parameter may be set at
       any time by the server.


       Set  and get operations will succeed even in modes where the operations
       don't apply. For example, you can set the maximum number of threads  in
       any  mode,  even  though it makes sense only for the Automatic MT mode.
       All of the get operations except RPC_SVC_MTMODE_GET apply only  to  the
       Automatic MT mode, so values returned in other modes may be undefined.


       By  default, RPC servers are limited to a maximum of 1024 file descrip‐
       tors or connections due to limitations  in  the  historical  interfaces
       svc_fdset(3C)  and  svc_getreqset(3C).  Applications written to use the
       preferred interfaces of svc_pollfd(3C) and svc_getreq_poll(3C) can  use
       an  unlimited  number  of  file descriptors. Setting info to point to a
       non-zero integer and op to RPC_SVC_USE_POLLFD removes the limitation.


       Connection oriented RPC transports read RPC requests in  blocking  mode
       by  default. Thus, they may be adversely affected by network delays and
       broken clients. RPC_SVC_CONNMAXREC_SET enables  non-blocking  mode  and
       establishes  the  maximum  record size (in bytes) for RPC requests; RPC
       responses are not affected. Buffer space is allocated as needed  up  to
       the  specified  maximum,  starting  at  the maximum or RPC_MAXDATASIZE,
       whichever is smaller.


       The value established by RPC_SVC_CONNMAXREC_SET is used when a  connec‐
       tion  is created, and it remains in effect for that connection until it
       is closed. To change the value for existing connections on  a  per-con‐
       nection basis, see svc_control(3C).


       RPC_SVC_CONNMAXREC_GET  retrieves  the  current  maximum record size. A
       zero value means that no maximum is in effect, and that the connections
       are in blocking mode.


       info is a pointer to an argument of type int. Non-connection RPC trans‐
       ports ignore RPC_SVC_CONNMAXREC_SET and RPC_SVC_CONNMAXREC_GET.

RETURN VALUES
       This routine returns TRUE if the operation was successful  and  returns
       FALSE otherwise.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ MT-LevelMT-Safe


SEE ALSO
       rpc(3C), rpc_svc_calls(3C), attributes(7), rpcbind(8)


       ONC+ RPC Developer's Guide

Oracle Solaris 11.4               11 May 2021                  rpc_control(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3