X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=portmap%2Fportmap.x;h=5ceb4367f2365a398bf384daa8221b05222019b4;hb=HEAD;hp=0f8a5dd9379315507eec2ed9a8d86b9b44329260;hpb=5245608a6587cf6b5279ffc4fde701d8dce23bf3;p=deb_libnfs.git diff --git a/portmap/portmap.x b/portmap/portmap.x index 0f8a5dd..5ceb436 100644 --- a/portmap/portmap.x +++ b/portmap/portmap.x @@ -1,6 +1,31 @@ /* - * From RFC1833 - */ +Copyright (c) 2014, Ronnie Sahlberg +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of the FreeBSD Project. +*/ const PMAP_PORT = 111; /* portmapper port number */ @@ -32,7 +57,7 @@ struct pmap2_dump_result { struct pmap2_mapping_list *list; }; -struct pmap3_getaddr_result { +struct pmap3_string_result { string addr<>; }; @@ -53,6 +78,27 @@ struct pmap3_dump_result { struct pmap3_mapping_list *list; }; +struct pmap3_call_args { + unsigned int prog; + unsigned int vers; + unsigned int proc; + opaque args<>; +}; + +struct pmap3_call_result { + unsigned int port; + opaque res<>; +}; + +struct pmap3_netbuf { + unsigned int maxlen; + /* This pretty much contains a sockaddr_storage. + * Beware differences in endianess for ss_family + * and whether or not ss_len exists. + */ + opaque buf<>; +}; + program PMAP_PROGRAM { version PMAP_V2 { void @@ -83,14 +129,23 @@ program PMAP_PROGRAM { bool PMAP3_UNSET(pmap3_mapping) = 2; - pmap3_getaddr_result + pmap3_string_result PMAP3_GETADDR(pmap3_mapping) = 3; pmap3_dump_result PMAP3_DUMP(void) = 4; + pmap3_call_result + PMAP3_CALLIT(pmap3_call_args) = 5; + unsigned int PMAP3_GETTIME(void) = 6; + + pmap3_netbuf + PMAP3_UADDR2TADDR(string) = 7; + + struct pmap3_string_result + PMAP3_TADDR2UADDR(pmap3_netbuf) = 8; } = 3; } = 100000;