From ca67b09c015d4af3ae3cce12aa72e60941dbb8b5 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:29:52 +0200 Subject: Adding debian version 2.06-13+deb12u1. Signed-off-by: Daniel Baumann --- .../disabled/gpxe/src/include/gpxe/open.h | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 debian/grub-extras/disabled/gpxe/src/include/gpxe/open.h (limited to 'debian/grub-extras/disabled/gpxe/src/include/gpxe/open.h') diff --git a/debian/grub-extras/disabled/gpxe/src/include/gpxe/open.h b/debian/grub-extras/disabled/gpxe/src/include/gpxe/open.h new file mode 100644 index 0000000..ebf754d --- /dev/null +++ b/debian/grub-extras/disabled/gpxe/src/include/gpxe/open.h @@ -0,0 +1,105 @@ +#ifndef _GPXE_OPEN_H +#define _GPXE_OPEN_H + +/** @file + * + * Data transfer interface opening + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include +#include +#include + +struct xfer_interface; +struct uri; + +/** Location types */ +enum { + /** Location is a URI + * + * Parameter list for open() is: + * + * struct uri *uri; + */ + LOCATION_URI = 1, + /** Location is a URI string + * + * Parameter list for open() is: + * + * const char *uri_string; + */ + LOCATION_URI_STRING, + /** Location is a socket + * + * Parameter list for open() is: + * + * int semantics; + * struct sockaddr *peer; + * struct sockaddr *local; + */ + LOCATION_SOCKET, +}; + +/** A URI opener */ +struct uri_opener { + /** URI protocol name + * + * This is the "scheme" portion of the URI, e.g. "http" or + * "file". + */ + const char *scheme; + /** Open URI + * + * @v xfer Data transfer interface + * @v uri URI + * @ret rc Return status code + */ + int ( * open ) ( struct xfer_interface *xfer, struct uri *uri ); +}; + +/** URI opener table */ +#define URI_OPENERS __table ( struct uri_opener, "uri_openers" ) + +/** Register a URI opener */ +#define __uri_opener __table_entry ( URI_OPENERS, 01 ) + +/** A socket opener */ +struct socket_opener { + /** Communication semantics (e.g. SOCK_STREAM) */ + int semantics; + /** Address family (e.g. AF_INET) */ + int family; + /** Open socket + * + * @v xfer Data transfer interface + * @v peer Peer socket address + * @v local Local socket address, or NULL + * @ret rc Return status code + */ + int ( * open ) ( struct xfer_interface *xfer, struct sockaddr *peer, + struct sockaddr *local ); +}; + +/** Socket opener table */ +#define SOCKET_OPENERS __table ( struct socket_opener, "socket_openers" ) + +/** Register a socket opener */ +#define __socket_opener __table_entry ( SOCKET_OPENERS, 01 ) + +extern int xfer_open_uri ( struct xfer_interface *xfer, struct uri *uri ); +extern int xfer_open_uri_string ( struct xfer_interface *xfer, + const char *uri_string ); +extern int xfer_open_named_socket ( struct xfer_interface *xfer, + int semantics, struct sockaddr *peer, + const char *name, struct sockaddr *local ); +extern int xfer_open_socket ( struct xfer_interface *xfer, int semantics, + struct sockaddr *peer, struct sockaddr *local ); +extern int xfer_vopen ( struct xfer_interface *xfer, int type, va_list args ); +extern int xfer_open ( struct xfer_interface *xfer, int type, ... ); +extern int xfer_vreopen ( struct xfer_interface *xfer, int type, + va_list args ); + +#endif /* _GPXE_OPEN_H */ -- cgit v1.2.3