/** Downloader data transfer interface operations */
static struct xfer_interface_operations downloader_xfer_operations = {
.close = downloader_xfer_close,
- .vredirect = vopen,
+ .vredirect = xfer_vopen,
.request = ignore_xfer_request,
.seek = downloader_xfer_seek,
.deliver_iob = xfer_deliver_as_raw,
downloader->register_image = register_image;
/* Instantiate child objects and attach to our interfaces */
- if ( ( rc = open ( &downloader->xfer, LOCATION_URI,
- uri_string ) ) != 0 )
+ if ( ( rc = xfer_open ( &downloader->xfer, LOCATION_URI,
+ uri_string ) ) != 0 )
goto err;
/* Attach parent interface, mortalise self, and return */
hw_finished ( hw, rc );
}
-static void hw_xfer_request ( struct xfer_interface *xfer,
- off_t start __unused, int whence __unused,
- size_t len __unused ) {
+static int hw_xfer_request ( struct xfer_interface *xfer,
+ off_t start __unused, int whence __unused,
+ size_t len __unused ) {
struct hw *hw = container_of ( xfer, struct hw, xfer );
int rc;
rc = xfer_deliver_raw ( xfer, hw_msg, sizeof ( hw_msg ) );
hw_finished ( hw, rc );
+ return 0;
}
static struct xfer_interface_operations hw_xfer_operations = {
* @v uri_string URI string (e.g. "http://etherboot.org/kernel")
* @ret rc Return status code
*/
-int open_uri ( struct xfer_interface *xfer, const char *uri_string ) {
+int xfer_open_uri ( struct xfer_interface *xfer, const char *uri_string ) {
struct uri *uri;
struct uri_opener *opener;
* @v domain Communication domain (e.g. PF_INET)
* @v type Communication semantics (e.g. SOCK_STREAM)
*/
-int open_socket ( struct xfer_interface *xfer,
- int domain, int type, struct sockaddr *sa ) {
+int xfer_open_socket ( struct xfer_interface *xfer,
+ int domain, int type, struct sockaddr *sa ) {
struct socket_opener *opener;
DBGC ( xfer, "XFER %p opening (%s,%s) socket\n", xfer,
* @v args Remaining arguments depend upon location type
* @ret rc Return status code
*/
-int vopen ( struct xfer_interface *xfer, int type, va_list args ) {
+int xfer_vopen ( struct xfer_interface *xfer, int type, va_list args ) {
switch ( type ) {
case LOCATION_URI: {
const char *uri_string = va_arg ( args, const char * );
- return open_uri ( xfer, uri_string ); }
+ return xfer_open_uri ( xfer, uri_string ); }
case LOCATION_SOCKET: {
int domain = va_arg ( args, int );
int type = va_arg ( args, int );
struct sockaddr *sa = va_arg ( args, struct sockaddr * );
- return open_socket ( xfer, domain, type, sa ); }
+ return xfer_open_socket ( xfer, domain, type, sa ); }
default:
DBGC ( xfer, "XFER %p attempted to open unsupported location "
"type %d\n", xfer, type );
* @v ... Remaining arguments depend upon location type
* @ret rc Return status code
*/
-int open ( struct xfer_interface *xfer, int type, ... ) {
+int xfer_open ( struct xfer_interface *xfer, int type, ... ) {
va_list args;
int rc;
va_start ( args, type );
- rc = vopen ( xfer, type, args );
+ rc = xfer_vopen ( xfer, type, args );
va_end ( args );
return rc;
}
/** Register a socket opener */
#define __socket_opener __table ( struct socket_opener, socket_openers, 01 )
-extern int open_uri ( struct xfer_interface *xfer, const char *uri_string );
-extern int open_socket ( struct xfer_interface *xfer,
- int domain, int type, struct sockaddr *sa );
-extern int vopen ( struct xfer_interface *xfer, int type, va_list args );
-extern int open ( struct xfer_interface *xfer, int type, ... );
+extern int xfer_open_uri ( struct xfer_interface *xfer,
+ const char *uri_string );
+extern int xfer_open_socket ( struct xfer_interface *xfer,
+ int domain, int type, struct sockaddr *sa );
+extern int xfer_vopen ( struct xfer_interface *xfer, int type, va_list args );
+extern int xfer_open ( struct xfer_interface *xfer, int type, ... );
#endif /* _GPXE_OPEN_H */