home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume26 / mnl-rpc++-2.3.1 / part01 / StdHdrs / rpc / pmap_clnt.h < prev   
Encoding:
C/C++ Source or Header  |  1993-04-24  |  3.1 KB  |  83 lines

  1. /* @(#)pmap_clnt.h    2.1 88/07/29 4.0 RPCSRC; from 1.11 88/02/08 SMI */
  2. /*
  3.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  4.  * unrestricted use provided that this legend is included on all tape
  5.  * media and as a part of the software program in whole or part.  Users
  6.  * may copy or modify Sun RPC without charge, but are not authorized
  7.  * to license or distribute it to anyone else except as part of a product or
  8.  * program developed by the user.
  9.  * 
  10.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  11.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  12.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  13.  * 
  14.  * Sun RPC is provided with no support and without any obligation on the
  15.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  16.  * modification or enhancement.
  17.  * 
  18.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  19.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  20.  * OR ANY PART THEREOF.
  21.  * 
  22.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  23.  * or profits or other special, indirect and consequential damages, even if
  24.  * Sun has been advised of the possibility of such damages.
  25.  * 
  26.  * Sun Microsystems, Inc.
  27.  * 2550 Garcia Avenue
  28.  * Mountain View, California  94043
  29.  */
  30.  
  31. /*
  32.  * pmap_clnt.h
  33.  * Supplies C routines to get to portmap services.
  34.  *
  35.  * Copyright (C) 1984, Sun Microsystems, Inc.
  36.  */
  37.  
  38. /*
  39.  * Usage:
  40.  *    success = pmap_set(program, version, protocol, port);
  41.  *    success = pmap_unset(program, version);
  42.  *    port = pmap_getport(address, program, version, protocol);
  43.  *    head = pmap_getmaps(address);
  44.  *    clnt_stat = pmap_rmtcall(address, program, version, procedure,
  45.  *        xdrargs, argsp, xdrres, resp, tout, port_ptr)
  46.  *        (works for udp only.) 
  47.  *     clnt_stat = clnt_broadcast(program, version, procedure,
  48.  *        xdrargs, argsp,    xdrres, resp, eachresult)
  49.  *        (like pmap_rmtcall, except the call is broadcasted to all
  50.  *        locally connected nets.  For each valid response received,
  51.  *        the procedure eachresult is called.  Its form is:
  52.  *    done = eachresult(resp, raddr)
  53.  *        bool_t done;
  54.  *        caddr_t resp;
  55.  *        struct sockaddr_in raddr;
  56.  *        where resp points to the results of the call and raddr is the
  57.  *        address if the responder to the broadcast.
  58.  */
  59.  
  60. #ifndef _rpc_pmap_clnt_h
  61. #define    _rpc_pmap_clnt_h
  62.  
  63. #include <rpc/c_types.h>
  64.  
  65. EXTERN_FUNCTION(bool_t        pmap_set, (u_long prognum, u_long versnum, 
  66.                        int protocol, u_short port));
  67. EXTERN_FUNCTION(bool_t        pmap_unset, (u_long prognum, u_long versnum));
  68. EXTERN_FUNCTION(struct pmaplist    *pmap_getmaps, (struct sockaddr_in *addr));
  69. EXTERN_FUNCTION(enum clnt_stat pmap_rmtcall, (struct sockaddr_in *addr,
  70.                           u_long prognum, u_long versnum,
  71.                           u_long procnum,
  72.                           char *in, char *out,
  73.                           xdrproc_t inproc, 
  74.                           xdrproc_t outproc,
  75.                           struct timeval timeout,
  76.                           u_long *portp));
  77. EXTERN_FUNCTION(enum clnt_stat        clnt_broadcast, ());
  78. EXTERN_FUNCTION(u_short        pmap_getport, (struct sockaddr_in *addr,
  79.                            u_long prognum, u_long versnum,
  80.                            u_long protocol));
  81.  
  82. #endif /*!_rpc_pmap_clnt_h*/
  83.