summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/nfsclient/src/rpcio.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libfs/src/nfsclient/src/rpcio.h')
-rw-r--r--cpukit/libfs/src/nfsclient/src/rpcio.h226
1 files changed, 0 insertions, 226 deletions
diff --git a/cpukit/libfs/src/nfsclient/src/rpcio.h b/cpukit/libfs/src/nfsclient/src/rpcio.h
deleted file mode 100644
index bc88e768c0..0000000000
--- a/cpukit/libfs/src/nfsclient/src/rpcio.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/**
- * @file
- *
- * @brief A Multithreaded RPC/UDP Multiplexor
- *
- * @ingroup rtems-nfsclient
- */
-
-/*
- * Author: Till Straumann, <strauman@slac.stanford.edu>, 2002
- *
- * Authorship
- * ----------
- * This software (NFS-2 client implementation for RTEMS) was created by
- * Till Straumann <strauman@slac.stanford.edu>, 2002-2007,
- * Stanford Linear Accelerator Center, Stanford University.
- *
- * Acknowledgement of sponsorship
- * ------------------------------
- * The NFS-2 client implementation for RTEMS was produced by
- * the Stanford Linear Accelerator Center, Stanford University,
- * under Contract DE-AC03-76SFO0515 with the Department of Energy.
- *
- * Government disclaimer of liability
- * ----------------------------------
- * Neither the United States nor the United States Department of Energy,
- * nor any of their employees, makes any warranty, express or implied, or
- * assumes any legal liability or responsibility for the accuracy,
- * completeness, or usefulness of any data, apparatus, product, or process
- * disclosed, or represents that its use would not infringe privately owned
- * rights.
- *
- * Stanford disclaimer of liability
- * --------------------------------
- * Stanford University makes no representations or warranties, express or
- * implied, nor assumes any liability for the use of this software.
- *
- * Stanford disclaimer of copyright
- * --------------------------------
- * Stanford University, owner of the copyright, hereby disclaims its
- * copyright and all other rights in this software. Hence, anyone may
- * freely use it for any purpose without restriction.
- *
- * Maintenance of notices
- * ----------------------
- * In the interest of clarity regarding the origin and status of this
- * SLAC software, this and all the preceding Stanford University notices
- * are to remain affixed to any copy or derivative of this software made
- * or distributed by the recipient and are to be affixed to any copy of
- * software made or distributed by the recipient that contains a copy or
- * derivative of this software.
- *
- * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03
- */
-
-#ifndef RPCIO_H
-#define RPCIO_H
-
-/**
- * @defgroup rtems-nfsclient RPC/UDP Multiplexor
- *
- * @ingroup nfsclient
- * @{
- */
-
-#include <rpc/rpc.h>
-#include <errno.h>
-#include <sys/ioctl.h>
-#include <sys/param.h>
-#include <stdarg.h>
-
-#include "librtemsNfs.h"
-
-typedef struct RpcUdpServerRec_ *RpcUdpServer;
-typedef struct RpcUdpXactRec_ *RpcUdpXact;
-
-typedef RpcUdpXact RpcUdpClnt;
-
-#define RPCIOD_DEFAULT_ID 0xdef10000
-
-enum clnt_stat
-rpcUdpServerCreate(
- struct sockaddr_in *paddr,
- rpcprog_t prog,
- rpcvers_t vers,
- u_long uid, /* RPCIO_DEFAULT_ID picks default */
- u_long gid, /* RPCIO_DEFAULT_ID picks default */
- RpcUdpServer *pclnt /* new server is returned here */
- );
-
-
-void
-rpcUdpServerDestroy(RpcUdpServer s);
-
-/**
- * @brief Dump statistics to a file (stdout if NULL);
- * @retval 0 for convenience
- */
-int
-rpcUdpStats(FILE *f);
-
-enum clnt_stat
-rpcUdpClntCreate(
- struct sockaddr_in *psaddr,
- rpcprog_t prog,
- rpcvers_t vers,
- u_long uid, /* RPCIO_DEFAULT_ID picks default */
- u_long gid, /* RPCIO_DEFAULT_ID picks default */
- RpcUdpClnt *pclnt /* new client is returned here */
- );
-
-void
-RpcUdpClntDestroy(RpcUdpClnt clnt);
-
-/**
- * @brief Mute compiler warnings.
- */
-typedef void *XdrProcT;
-typedef void *CaddrT;
-
-enum clnt_stat
-rpcUdpClntCall(
- RpcUdpClnt clnt,
- u_long proc,
- XdrProcT xargs,
- CaddrT pargs,
- XdrProcT xres,
- CaddrT pres,
- struct timeval *timeout /* optional timeout; maybe NULL to pick default */
- );
-
-RpcUdpXact
-rpcUdpXactCreate(
- u_long program,
- u_long version,
- u_long size
- );
-
-void
-rpcUdpXactDestroy(
- RpcUdpXact xact
- );
-
-/**
- * Send a transaction.
- */
-enum clnt_stat
-rpcUdpSend(
- RpcUdpXact xact,
- RpcUdpServer srvr,
- struct timeval *timeout, /* maybe NULL to pick default */
- u_long proc,
- xdrproc_t xres,
- caddr_t pres,
- xdrproc_t xargs,
- caddr_t pargs,
- ... /* 0 terminated xdrproc/pobj additional argument list */
- );
-
-/**
- * @brief Wait for a transaction to complete.
- */
-enum clnt_stat
-rpcUdpRcv(RpcUdpXact xact);
-
-/* a yet simpler interface */
-enum clnt_stat
-rpcUdpCallRp(
- struct sockaddr_in *pserver_addr,
- u_long prog,
- u_long vers,
- u_long proc,
- XdrProcT xargs,
- CaddrT pargs,
- XdrProcT xres,
- CaddrT pres,
- u_long uid, /* RPCIO_DEFAULT_ID picks default */
- u_long gid, /* RPCIO_DEFAULT_ID picks default */
- struct timeval *timeout /* NULL picks default */
-);
-
-
-
-/*
- * @brief Manage pools of transactions.
- *
- * A pool of transactions. The idea is not to malloc/free them
- * all the time but keep a limited number around in a 'pool'.
- * Users who need a XACT may get it from the pool and put it back
- * when done.
- * The pool is implemented by RTEMS message queues who manage
- * the required task synchronization.
- * A requestor has different options if the pool is empty:
- * - it can wait (block) for a XACT to become available
- * - it can get an error status
- * - or it can malloc an extra XACT from the heap which
- * will eventually be released.
- */
-
-typedef struct RpcUdpXactPoolRec_ *RpcUdpXactPool;
-
-/* NOTE: the pool is empty initially, must get messages (in
- * GetCreate mode
- */
-RpcUdpXactPool
-rpcUdpXactPoolCreate(
- rpcprog_t prog, rpcvers_t version,
- int xactsize, int poolsize);
-
-void
-rpcUdpXactPoolDestroy(RpcUdpXactPool pool);
-
-typedef enum {
- XactGetFail, /* call fails if no transaction available */
- XactGetWait, /* call blocks until transaction available */
- XactGetCreate /* a new transaction is allocated (and freed when put back to the pool */
-} XactPoolGetMode;
-
-RpcUdpXact
-rpcUdpXactPoolGet(RpcUdpXactPool pool, XactPoolGetMode mode);
-
-void
-rpcUdpXactPoolPut(RpcUdpXact xact);
-
-/** @} */
-#endif