Ejemplo n.º 1
0
#define EOIB_NUM_SEND_WQES 8

/** Number of EoIB receive work queue entries */
#define EOIB_NUM_RECV_WQES 4

/** Number of EoIB completion queue entries */
#define EOIB_NUM_CQES 16

/** Link status for "broadcast join in progress" */
#define EINPROGRESS_JOINING __einfo_error ( EINFO_EINPROGRESS_JOINING )
#define EINFO_EINPROGRESS_JOINING __einfo_uniqify \
	( EINFO_EINPROGRESS, 0x01, "Joining" )

/** Human-readable message for the link status */
struct errortab eoib_errors[] __errortab = {
	__einfo_errortab ( EINFO_EINPROGRESS_JOINING ),
};

/** List of EoIB devices */
static LIST_HEAD ( eoib_devices );

static struct net_device_operations eoib_operations;

/****************************************************************************
 *
 * EoIB peer cache
 *
 ****************************************************************************
 */

/** An EoIB peer cache entry */
Ejemplo n.º 2
0
 * Network interface management
 *
 */

/** Default time to wait for link-up */
#define LINK_WAIT_TIMEOUT ( 15 * TICKS_PER_SEC )

/** Default unsuccessful configuration status code */
#define EADDRNOTAVAIL_CONFIG __einfo_error ( EINFO_EADDRNOTAVAIL_CONFIG )
#define EINFO_EADDRNOTAVAIL_CONFIG					\
	__einfo_uniqify ( EINFO_EADDRNOTAVAIL, 0x01,			\
			  "No configuration methods succeeded" )

/** Human-readable error message */
struct errortab ifmgmt_errors[] __errortab = {
	__einfo_errortab ( EINFO_EADDRNOTAVAIL_CONFIG ),
};

/**
 * Open network device
 *
 * @v netdev		Network device
 * @ret rc		Return status code
 */
int ifopen ( struct net_device *netdev ) {
	int rc;

	if ( ( rc = netdev_open ( netdev ) ) != 0 ) {
		printf ( "Could not open %s: %s\n",
			 netdev->name, strerror ( rc ) );
		return rc;
Ejemplo n.º 3
0
Archivo: segment.c Proyecto: 42wim/ipxe
#include <ipxe/uaccess.h>
#include <ipxe/io.h>
#include <ipxe/errortab.h>
#include <ipxe/segment.h>

/**
 * Segment-specific error messages
 *
 * This error happens sufficiently often to merit a user-friendly
 * description.
 */
#define ERANGE_SEGMENT __einfo_error ( EINFO_ERANGE_SEGMENT )
#define EINFO_ERANGE_SEGMENT \
	__einfo_uniqify ( EINFO_ERANGE, 0x01, "Requested memory not available" )
struct errortab segment_errors[] __errortab = {
	__einfo_errortab ( EINFO_ERANGE_SEGMENT ),
};

/**
 * Prepare segment for loading
 *
 * @v segment		Segment start
 * @v filesz		Size of the "allocated bytes" portion of the segment
 * @v memsz		Size of the segment
 * @ret rc		Return status code
 */
int prep_segment ( userptr_t segment, size_t filesz, size_t memsz ) {
	struct memory_map memmap;
	physaddr_t start = user_to_phys ( segment, 0 );
	physaddr_t mid = user_to_phys ( segment, filesz );
	physaddr_t end = user_to_phys ( segment, memsz );
Ejemplo n.º 4
0
	} else {
		snprintf ( errbuf, sizeof ( errbuf ),
			   "Error %#08x (" PRODUCT_ERROR_URI ")",
			   errno, errno );
	}

	return errbuf;
}

/* Do not include ERRFILE portion in the numbers in the error table */
#undef ERRFILE
#define ERRFILE 0

/** The most common errors */
struct errortab common_errors[] __errortab = {
	__einfo_errortab ( EINFO_ENOERR ),
	__einfo_errortab ( EINFO_EACCES ),
	__einfo_errortab ( EINFO_ECANCELED ),
	__einfo_errortab ( EINFO_ECONNRESET ),
	__einfo_errortab ( EINFO_EINVAL ),
	__einfo_errortab ( EINFO_EIO ),
	__einfo_errortab ( EINFO_ENETUNREACH ),
	__einfo_errortab ( EINFO_ENODEV ),
	__einfo_errortab ( EINFO_ENOENT ),
	__einfo_errortab ( EINFO_ENOEXEC ),
	__einfo_errortab ( EINFO_ENOMEM ),
	__einfo_errortab ( EINFO_ENOSPC ),
	__einfo_errortab ( EINFO_ENOTCONN ),
	__einfo_errortab ( EINFO_ENOTSUP ),
	__einfo_errortab ( EINFO_EPERM ),
	__einfo_errortab ( EINFO_ERANGE ),
Ejemplo n.º 5
0
 */

FILE_LICENCE ( GPL2_OR_LATER );

#include <errno.h>
#include <gpxe/errortab.h>
#include <gpxe/net80211_err.h>

/* Record errors as though they come from the 802.11 stack */
#undef ERRFILE
#define ERRFILE ERRFILE_net80211

/** All 802.11 errors
 */
struct errortab wireless_errors[] __errortab = {
	__einfo_errortab ( EINFO_EINVAL_PKT_TOO_SHORT ),
	__einfo_errortab ( EINFO_EINVAL_PKT_VERSION ),
	__einfo_errortab ( EINFO_EINVAL_PKT_NOT_DATA ),
	__einfo_errortab ( EINFO_EINVAL_PKT_NOT_FROMDS ),
	__einfo_errortab ( EINFO_EINVAL_PKT_LLC_HEADER ),
	__einfo_errortab ( EINFO_EINVAL_CRYPTO_REQUEST ),
	__einfo_errortab ( EINFO_EINVAL_ACTIVE_SCAN ),
	__einfo_errortab ( EINFO_ECONNREFUSED_FAILURE ),
	__einfo_errortab ( EINFO_ECONNREFUSED_CAPAB_UNSUPP ),
	__einfo_errortab ( EINFO_ECONNREFUSED_REASSOC_INVALID ),
	__einfo_errortab ( EINFO_ECONNREFUSED_ASSOC_DENIED ),
	__einfo_errortab ( EINFO_ECONNREFUSED_AUTH_ALGO_UNSUPP ),
	__einfo_errortab ( EINFO_ECONNREFUSED_AUTH_SEQ_INVALID ),
	__einfo_errortab ( EINFO_ECONNREFUSED_AUTH_CHALL_INVALID ),
	__einfo_errortab ( EINFO_ECONNREFUSED_AUTH_TIMEOUT ),
	__einfo_errortab ( EINFO_ECONNREFUSED_ASSOC_NO_ROOM ),
Ejemplo n.º 6
0
Archivo: dhcpv6.c Proyecto: 42wim/ipxe
#define EINFO_EPROTO_NOBINDING \
	__einfo_uniqify ( EINFO_EPROTO, 3, "Client record unavailable" )
#define EPROTO_NOTONLINK __einfo_error ( EINFO_EPROTO_NOTONLINK )
#define EINFO_EPROTO_NOTONLINK \
	__einfo_uniqify ( EINFO_EPROTO, 4, "Prefix not on link" )
#define EPROTO_USEMULTICAST __einfo_error ( EINFO_EPROTO_USEMULTICAST )
#define EINFO_EPROTO_USEMULTICAST \
	__einfo_uniqify ( EINFO_EPROTO, 5, "Use multicast address" )
#define EPROTO_STATUS( status )						\
	EUNIQ ( EINFO_EPROTO, ( (status) & 0x0f ), EPROTO_UNSPECFAIL,	\
		EPROTO_NOADDRSAVAIL, EPROTO_NOBINDING,			\
		EPROTO_NOTONLINK, EPROTO_USEMULTICAST )

/** Human-readable error messages */
struct errortab dhcpv6_errors[] __errortab = {
	__einfo_errortab ( EINFO_EPROTO_NOADDRSAVAIL ),
};

/****************************************************************************
 *
 * DHCPv6 option lists
 *
 */

/** A DHCPv6 option list */
struct dhcpv6_option_list {
	/** Data buffer */
	const void *data;
	/** Length of data buffer */
	size_t len;
};