1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero */ 9*10465441SEvalZero #ifndef __RPC_PMAP_PROT_H__ 10*10465441SEvalZero #define __RPC_PMAP_PROT_H__ 11*10465441SEvalZero 12*10465441SEvalZero #include <rpc/xdr.h> 13*10465441SEvalZero 14*10465441SEvalZero /* The following procedures are supported by the protocol: 15*10465441SEvalZero * 16*10465441SEvalZero * PMAPPROC_NULL() returns () 17*10465441SEvalZero * takes nothing, returns nothing 18*10465441SEvalZero * 19*10465441SEvalZero * PMAPPROC_SET(struct pmap) returns (bool_t) 20*10465441SEvalZero * TRUE is success, FALSE is failure. Registers the tuple 21*10465441SEvalZero * [prog, vers, prot, port]. 22*10465441SEvalZero * 23*10465441SEvalZero * PMAPPROC_UNSET(struct pmap) returns (bool_t) 24*10465441SEvalZero * TRUE is success, FALSE is failure. Un-registers pair 25*10465441SEvalZero * [prog, vers]. prot and port are ignored. 26*10465441SEvalZero * 27*10465441SEvalZero * PMAPPROC_GETPORT(struct pmap) returns (long unsigned). 28*10465441SEvalZero * 0 is failure. Otherwise returns the port number where the pair 29*10465441SEvalZero * [prog, vers] is registered. It may lie! 30*10465441SEvalZero * 31*10465441SEvalZero * PMAPPROC_DUMP() RETURNS (struct pmaplist *) 32*10465441SEvalZero * 33*10465441SEvalZero * PMAPPROC_CALLIT(unsigned, unsigned, unsigned, string<>) 34*10465441SEvalZero * RETURNS (port, string<>); 35*10465441SEvalZero * usage: encapsulatedresults = PMAPPROC_CALLIT(prog, vers, proc, encapsulatedargs); 36*10465441SEvalZero * Calls the procedure on the local machine. If it is not registered, 37*10465441SEvalZero * this procedure is quite; ie it does not return error information!!! 38*10465441SEvalZero * This procedure only is supported on rpc/udp and calls via 39*10465441SEvalZero * rpc/udp. This routine only passes null authentication parameters. 40*10465441SEvalZero * This file has no interface to xdr routines for PMAPPROC_CALLIT. 41*10465441SEvalZero * 42*10465441SEvalZero * The service supports remote procedure calls on udp/ip or tcp/ip socket 111. 43*10465441SEvalZero */ 44*10465441SEvalZero 45*10465441SEvalZero #define PMAPPORT ((unsigned short)111) 46*10465441SEvalZero #define PMAPPROG ((unsigned long)100000) 47*10465441SEvalZero #define PMAPVERS ((unsigned long)2) 48*10465441SEvalZero #define PMAPVERS_PROTO ((unsigned long)2) 49*10465441SEvalZero #define PMAPVERS_ORIG ((unsigned long)1) 50*10465441SEvalZero #define PMAPPROC_NULL ((unsigned long)0) 51*10465441SEvalZero #define PMAPPROC_SET ((unsigned long)1) 52*10465441SEvalZero #define PMAPPROC_UNSET ((unsigned long)2) 53*10465441SEvalZero #define PMAPPROC_GETPORT ((unsigned long)3) 54*10465441SEvalZero #define PMAPPROC_DUMP ((unsigned long)4) 55*10465441SEvalZero #define PMAPPROC_CALLIT ((unsigned long)5) 56*10465441SEvalZero 57*10465441SEvalZero struct pmap { 58*10465441SEvalZero long unsigned pm_prog; 59*10465441SEvalZero long unsigned pm_vers; 60*10465441SEvalZero long unsigned pm_prot; 61*10465441SEvalZero long unsigned pm_port; 62*10465441SEvalZero }; 63*10465441SEvalZero 64*10465441SEvalZero extern bool_t xdr_pmap (XDR *__xdrs, struct pmap *__regs); 65*10465441SEvalZero 66*10465441SEvalZero #endif 67