Changeset 1f5986b in rtems


Ignore:
Timestamp:
May 27, 2010, 7:36:24 AM (9 years ago)
Author:
Ralf Corsepius <ralf.corsepius@…>
Branches:
4.10, 4.11, master
Children:
9363800c
Parents:
375c39a
Message:

2010-05-27 Ralf Corsépius <ralf.corsepius@…>

  • librpc/include/rpc/clnt.h, librpc/include/rpc/rpc_msg.h, librpc/src/rpc/clnt_generic.c, librpc/src/rpc/clnt_raw.c, librpc/src/rpc/clnt_tcp.c, librpc/src/rpc/clnt_udp.c, librpc/src/rpc/pmap_clnt.c, librpc/src/rpc/pmap_getmaps.c librpc/src/rpc/pmap_getport.c: Partial merger from freebsd (portability fixes).
Location:
cpukit
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r375c39a r1f5986b  
     12010-05-27      Ralf Corsépius <ralf.corsepius@rtems.org>
     2
     3        * librpc/include/rpc/clnt.h, librpc/include/rpc/rpc_msg.h,
     4        librpc/src/rpc/clnt_generic.c, librpc/src/rpc/clnt_raw.c,
     5        librpc/src/rpc/clnt_tcp.c, librpc/src/rpc/clnt_udp.c,
     6        librpc/src/rpc/pmap_clnt.c, librpc/src/rpc/pmap_getmaps.c
     7        librpc/src/rpc/pmap_getport.c:
     8        Partial merger from freebsd (portability fixes).
     9
    1102010-05-27      Ralf Corsépius <ralf.corsepius@rtems.org>
    211
  • cpukit/librpc/include/rpc/clnt.h

    r375c39a r1f5986b  
    102102                /* call remote procedure */
    103103                enum clnt_stat  (*cl_call)(struct __rpc_client *,
    104                                     u_long, xdrproc_t, caddr_t, xdrproc_t,
    105                                         caddr_t, struct timeval);
     104                                    rpcproc_t, xdrproc_t, void *, xdrproc_t,
     105                                        void *, struct timeval);
    106106                /* abort a call */
    107107                void            (*cl_abort)(void);
     
    111111                /* frees results */
    112112                bool_t          (*cl_freeres)(struct __rpc_client *,
    113                                         xdrproc_t, caddr_t);
     113                                        xdrproc_t, void *);
    114114                /* destroy this structure */
    115115                void            (*cl_destroy)(struct __rpc_client *);
     
    134134 * CLNT_CALL(rh, proc, xargs, argsp, xres, resp, timeout)
    135135 *      CLIENT *rh;
    136  *      u_long proc;
     136 *      rpcproc_t proc;
    137137 *      xdrproc_t xargs;
    138  *      caddr_t argsp;
     138 *      void *argsp;
    139139 *      xdrproc_t xres;
    140  *      caddr_t resp;
     140 *      void *resp;
    141141 *      struct timeval timeout;
    142142 */
    143143#define CLNT_CALL(rh, proc, xargs, argsp, xres, resp, secs)     \
    144         ((*(rh)->cl_ops->cl_call)(rh, proc, (xdrproc_t)xargs, (caddr_t)argsp, \
    145                 (xdrproc_t) xres, (caddr_t)resp, secs))
     144        ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, \
     145                argsp, xres, resp, secs))
    146146#define clnt_call(rh, proc, xargs, argsp, xres, resp, secs)     \
    147         ((*(rh)->cl_ops->cl_call)(rh, proc, (xdrproc_t) xargs, (caddr_t)argsp, \
    148                 (xdrproc_t) xres, (caddr_t)resp, secs))
     147        ((*(rh)->cl_ops->cl_call)(rh, proc, xargs, \
     148                argsp, xres, resp, secs))
    149149
    150150/*
     
    170170 *      CLIENT *rh;
    171171 *      xdrproc_t xres;
    172  *      caddr_t resp;
    173  */
    174 #define CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,(xdrproc_t)xres,resp))
    175 #define clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,(xdrproc_t)xres,resp))
     172 *      void *resp;
     173 */
     174#define CLNT_FREERES(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
     175#define clnt_freeres(rh,xres,resp) ((*(rh)->cl_ops->cl_freeres)(rh,xres,resp))
    176176
    177177/*
     
    257257 * Generic client creation routine. Supported protocols are "udp", "tcp"
    258258 * and "unix".
    259  * CLIENT *
    260  * clnt_create(host, prog, vers, prot);
    261  *      char *host;     -- hostname
    262  *      u_long prog;    -- program number
    263  *      u_long vers;    -- version number
    264  *      char *prot;     -- protocol
    265  */
    266 __BEGIN_DECLS
    267 extern CLIENT *clnt_create(char *, u_long, u_long, char *);
    268 __END_DECLS
    269 
     259 */
     260__BEGIN_DECLS
     261extern CLIENT *clnt_create(const char *, const rpcprog_t, const rpcvers_t,
     262        const char *);
     263__END_DECLS
    270264
    271265/*
  • cpukit/librpc/include/rpc/rpc_msg.h

    r375c39a r1f5986b  
    9393        union {
    9494                struct {
    95                         u_int32_t       low;
    96                         u_int32_t       high;
     95                        rpcvers_t low;
     96                        rpcvers_t high;
    9797                } AR_versions;
    9898                struct {
     
    113113        union {
    114114                struct {
    115                         u_int32_t low;
    116                         u_int32_t high;
     115                        rpcvers_t low;
     116                        rpcvers_t high;
    117117                } RJ_versions;
    118118                enum auth_stat RJ_why;  /* why authentication did not work */
     
    139139 */
    140140struct call_body {
    141         u_int32_t cb_rpcvers;   /* must be equal to two */
    142         u_int32_t cb_prog;
    143         u_int32_t cb_vers;
    144         u_int32_t cb_proc;
     141        rpcvers_t cb_rpcvers;   /* must be equal to two */
     142        rpcprog_t cb_prog;
     143        rpcvers_t cb_vers;
     144        rpcproc_t cb_proc;
    145145        struct opaque_auth cb_cred;
    146146        struct opaque_auth cb_verf; /* protocol specific - provided by client */
  • cpukit/librpc/src/rpc/clnt_generic.c

    r375c39a r1f5986b  
    5454CLIENT *
    5555clnt_create(
    56         char *hostname,
    57         u_long prog,
    58         u_long vers,
    59         char *proto)
     56        const char *hostname,
     57        rpcprog_t prog,
     58        rpcvers_t vers,
     59        const char *proto)
    6060{
    6161        struct hostent *h;
  • cpukit/librpc/src/rpc/clnt_raw.c

    r375c39a r1f5986b  
    7070#define clntraw_private (rtems_rpc_task_variables->clnt_raw_private)
    7171
    72 static enum clnt_stat   clntraw_call(CLIENT *h, u_long proc, xdrproc_t xargs, caddr_t argsp, xdrproc_t xresults, caddr_t resultsp, struct timeval timeout);
     72static enum clnt_stat   clntraw_call(CLIENT *h, rpcproc_t proc, xdrproc_t xargs, void *argsp, xdrproc_t xresults, void *resultsp, struct timeval timeout);
    7373static void             clntraw_abort(void);
    7474static void             clntraw_geterr(CLIENT *h, struct rpc_err*);
    75 static bool_t           clntraw_freeres(CLIENT *, xdrproc_t, caddr_t);
     75static bool_t           clntraw_freeres(CLIENT *, xdrproc_t, void*);
    7676static bool_t           clntraw_control(CLIENT *, int, char *);
    7777static void             clntraw_destroy(CLIENT *);
     
    135135clntraw_call(
    136136        CLIENT *h,
    137         u_long proc,
     137        rpcproc_t proc,
    138138        xdrproc_t xargs,
    139         caddr_t argsp,
     139        void *argsp,
    140140        xdrproc_t xresults,
    141         caddr_t resultsp,
     141        void *resultsp,
    142142        struct timeval timeout )
    143143{
     
    217217        CLIENT *cl,
    218218        xdrproc_t xdr_res,
    219         caddr_t res_ptr )
     219        void *res_ptr )
    220220{
    221221        struct clnt_raw_private *clp = clntraw_private;
  • cpukit/librpc/src/rpc/clnt_tcp.c

    r375c39a r1f5986b  
    7373static int      writetcp(char *, char*, int);
    7474
    75 static enum clnt_stat   clnttcp_call(CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t, caddr_t, struct timeval);
     75static enum clnt_stat   clnttcp_call(CLIENT *, rpcproc_t, xdrproc_t, void*, xdrproc_t, void*, struct timeval);
    7676static void             clnttcp_abort(void);
    7777static void             clnttcp_geterr(CLIENT *, struct rpc_err*);
    78 static bool_t           clnttcp_freeres(CLIENT *, xdrproc_t, caddr_t);
     78static bool_t           clnttcp_freeres(CLIENT *, xdrproc_t, void*);
    7979static bool_t           clnttcp_control(CLIENT *, int, char *);
    8080static void             clnttcp_destroy(CLIENT *);
     
    121121clnttcp_create(
    122122        struct sockaddr_in *raddr,
    123         u_long prog,
    124         u_long vers,
     123        rpcprog_t prog,         /* program number */
     124        rpcvers_t vers,         /* version number */
    125125        int *sockp,
    126126        u_int sendsz,
     
    241241clnttcp_call(
    242242        CLIENT *h,
    243         u_long proc,
     243        rpcproc_t proc,
    244244        xdrproc_t xdr_args,
    245         caddr_t args_ptr,
     245        void *args_ptr,
    246246        xdrproc_t xdr_results,
    247         caddr_t results_ptr,
     247        void *results_ptr,
    248248        struct timeval timeout)
    249249{
     
    352352        CLIENT *cl,
    353353        xdrproc_t xdr_res,
    354         caddr_t res_ptr)
     354        void *res_ptr)
    355355{
    356356        struct ct_data *ct;
  • cpukit/librpc/src/rpc/clnt_udp.c

    r375c39a r1f5986b  
    5959 * UDP bases client side rpc operations
    6060 */
    61 static enum clnt_stat   clntudp_call(CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t, caddr_t, struct timeval);
     61static enum clnt_stat   clntudp_call(CLIENT *, rpcproc_t, xdrproc_t, void*, xdrproc_t, void*, struct timeval);
    6262static void             clntudp_abort(void);
    6363static void             clntudp_geterr(CLIENT *, struct rpc_err*);
    64 static bool_t           clntudp_freeres(CLIENT *, xdrproc_t, caddr_t);
     64static bool_t           clntudp_freeres(CLIENT *, xdrproc_t, void*);
    6565static bool_t           clntudp_control(CLIENT *, int, char *);
    6666static void             clntudp_destroy(CLIENT *);
     
    113113clntudp_bufcreate(
    114114        struct sockaddr_in *raddr,
    115         u_long program,
    116         u_long version,
     115        rpcprog_t program,              /* program number */
     116        rpcvers_t version,              /* version number */
    117117        struct timeval wait,
    118118        int *sockp,
     
    207207clntudp_create(
    208208        struct sockaddr_in *raddr,
    209         u_long program,
    210         u_long version,
     209        rpcprog_t program,              /* program number */
     210        rpcvers_t version,              /* version number */
    211211        struct timeval wait,
    212212        int *sockp)
     
    220220clntudp_call(
    221221        CLIENT  *cl,                    /* client handle */
    222         u_long          proc,           /* procedure number */
     222        rpcproc_t       proc,           /* procedure number */
    223223        xdrproc_t       xargs,          /* xdr routine for args */
    224         caddr_t         argsp,          /* pointer to args */
     224        void            *argsp,         /* pointer to args */
    225225        xdrproc_t       xresults,       /* xdr routine for results */
    226         caddr_t         resultsp,       /* pointer to results */
     226        void            *resultsp,      /* pointer to results */
    227227        struct timeval  utimeout )      /* seconds to wait before giving up */
    228228{
     
    424424        CLIENT *cl,
    425425        xdrproc_t xdr_res,
    426         caddr_t res_ptr)
     426        void *res_ptr)
    427427{
    428428        struct cu_data *cu = (struct cu_data *)cl->cl_private;
  • cpukit/librpc/src/rpc/pmap_clnt.c

    r375c39a r1f5986b  
    7373        struct sockaddr_in myaddress;
    7474        int socket = -1;
    75         register CLIENT *client;
     75        CLIENT *client;
    7676        struct pmap parms;
    7777        bool_t rslt;
     
    9898        parms.pm_prot = protocol;
    9999        parms.pm_port = port;
    100         if (CLNT_CALL(client, PMAPPROC_SET, xdr_pmap, &parms, xdr_bool, &rslt,
     100        if (CLNT_CALL(client, PMAPPROC_SET, (xdrproc_t)xdr_pmap, &parms, (xdrproc_t)xdr_bool, &rslt,
    101101            tottimeout) != RPC_SUCCESS) {
    102102                clnt_perror(client, "Cannot register service");
     
    110110
    111111/*
    112  * Remove the mapping between program,version and port.
     112 * Remove the mapping between program, version and port.
    113113 * Calls the pmap service remotely to do the un-mapping.
    114114 */
     
    143143        parms.pm_vers = version;
    144144        parms.pm_port = parms.pm_prot = 0;
    145         CLNT_CALL(client, PMAPPROC_UNSET, xdr_pmap, &parms, xdr_bool, &rslt,
     145        CLNT_CALL(client, PMAPPROC_UNSET, (xdrproc_t)xdr_pmap, &parms, (xdrproc_t)xdr_bool, &rslt,
    146146            tottimeout);
    147147        CLNT_DESTROY(client);
  • cpukit/librpc/src/rpc/pmap_getmaps.c

    r375c39a r1f5986b  
    6767pmap_getmaps(struct sockaddr_in *address)
    6868{
    69         struct pmaplist *head = (struct pmaplist *)NULL;
     69        struct pmaplist *head = NULL;
    7070        int socket = -1;
    7171        struct timeval minutetimeout;
    72         register CLIENT *client;
     72        CLIENT *client;
    7373
    7474        minutetimeout.tv_sec = 60;
     
    7777        client = clnttcp_create(address, PMAPPROG,
    7878            PMAPVERS, &socket, 50, 500);
    79         if (client != (CLIENT *)NULL) {
    80                 if (CLNT_CALL(client, PMAPPROC_DUMP, xdr_void, NULL, xdr_pmaplist,
    81                     &head, minutetimeout) != RPC_SUCCESS) {
     79        if (client != NULL) {
     80                if (CLNT_CALL(client, (rpcproc_t)PMAPPROC_DUMP,
     81                    (xdrproc_t)xdr_void, NULL,
     82                    (xdrproc_t)xdr_pmaplist, &head, minutetimeout) !=
     83                    RPC_SUCCESS) {
    8284                        clnt_perror(client, "pmap_getmaps rpc problem");
    8385                }
  • cpukit/librpc/src/rpc/pmap_getport.c

    r375c39a r1f5986b  
    5353#include <unistd.h>
    5454
    55 static struct timeval timeout = { 5, 0 };
    56 static struct timeval tottimeout = { 60, 0 };
     55static const struct timeval timeout = { 5, 0 };
     56static const struct timeval tottimeout = { 60, 0 };
    5757
    5858/*
     
    7070        u_short port = 0;
    7171        int socket = -1;
    72         register CLIENT *client;
     72        CLIENT *client;
    7373        struct pmap parms;
    7474
     
    7676        client = clntudp_bufcreate(address, PMAPPROG,
    7777            PMAPVERS, timeout, &socket, RPCSMALLMSGSIZE, RPCSMALLMSGSIZE);
    78         if (client != (CLIENT *)NULL) {
     78        if (client != NULL) {
    7979                parms.pm_prog = program;
    8080                parms.pm_vers = version;
    8181                parms.pm_prot = protocol;
    8282                parms.pm_port = 0;  /* not needed or used */
    83                 if (CLNT_CALL(client, PMAPPROC_GETPORT, xdr_pmap, &parms,
    84                     xdr_u_short, &port, tottimeout) != RPC_SUCCESS){
     83                if (CLNT_CALL(client, (rpcproc_t)PMAPPROC_GETPORT,
     84                    (xdrproc_t)xdr_pmap,
     85                    &parms, (xdrproc_t)xdr_u_short, &port, tottimeout) !=
     86                    RPC_SUCCESS){
    8587                        rpc_createerr.cf_stat = RPC_PMAPFAILURE;
    8688                        clnt_geterr(client, &rpc_createerr.cf_error);
Note: See TracChangeset for help on using the changeset viewer.