diff options
Diffstat (limited to 'qemu/roms/ipxe/src/net/oncrpc/portmap.c')
-rw-r--r-- | qemu/roms/ipxe/src/net/oncrpc/portmap.c | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/qemu/roms/ipxe/src/net/oncrpc/portmap.c b/qemu/roms/ipxe/src/net/oncrpc/portmap.c deleted file mode 100644 index df62221dc..000000000 --- a/qemu/roms/ipxe/src/net/oncrpc/portmap.c +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2013 Marin Hannache <ipxe@mareo.fr>. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - */ - -#include <stdint.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <assert.h> -#include <errno.h> -#include <byteswap.h> -#include <ipxe/socket.h> -#include <ipxe/tcpip.h> -#include <ipxe/in.h> -#include <ipxe/iobuf.h> -#include <ipxe/xfer.h> -#include <ipxe/open.h> -#include <ipxe/uri.h> -#include <ipxe/features.h> -#include <ipxe/timer.h> -#include <ipxe/oncrpc.h> -#include <ipxe/oncrpc_iob.h> -#include <ipxe/portmap.h> - -/** @file - * - * PORTMAPPER protocol. - * - */ - -/** PORTMAP GETPORT procedure. */ -#define PORTMAP_GETPORT 3 - -/** - * Send a GETPORT request - * - * @v intf Interface to send the request on - * @v session ONC RPC session - * @v prog ONC RPC program number - * @v vers ONC RPC rogram version number - * @v proto Protocol (TCP or UDP) - * @ret rc Return status code - */ -int portmap_getport ( struct interface *intf, struct oncrpc_session *session, - uint32_t prog, uint32_t vers, uint32_t proto ) { - struct oncrpc_field fields[] = { - ONCRPC_FIELD ( int32, prog ), - ONCRPC_FIELD ( int32, vers ), - ONCRPC_FIELD ( int32, proto ), - ONCRPC_FIELD ( int32, 0 ), /* The port field is only meaningful - in GETPORT reply */ - ONCRPC_FIELD_END, - }; - - return oncrpc_call ( intf, session, PORTMAP_GETPORT, fields ); -} - -/** - * Parse a GETPORT reply - * - * @v getport_reply A structure where the data will be saved - * @v reply The ONC RPC reply to get data from - * @ret rc Return status code - */ -int portmap_get_getport_reply ( struct portmap_getport_reply *getport_reply, - struct oncrpc_reply *reply ) { - if ( ! getport_reply || ! reply ) - return -EINVAL; - - getport_reply->port = oncrpc_iob_get_int ( reply->data ); - if ( getport_reply == 0 || getport_reply->port >= 65536 ) - return -EINVAL; - - return 0; -} |