]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[libc] Use __einfo() tuple as first argument to EUNIQ()
authorMichael Brown <mcb30@ipxe.org>
Thu, 18 Apr 2013 00:05:32 +0000 (01:05 +0100)
committerMichael Brown <mcb30@ipxe.org>
Thu, 18 Apr 2013 23:45:13 +0000 (00:45 +0100)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/crypto/ocsp.c
src/drivers/block/scsi.c
src/drivers/block/srp.c
src/include/errno.h
src/include/ipxe/net80211_err.h
src/net/80211/sec80211.c

index ab75dea35ad866128c669a1f8b03f03141bedd0c..185605b4a3253bdf7b7ea4688067ca25b65802cf 100644 (file)
@@ -84,7 +84,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
        __einfo_uniqify ( EINFO_EPROTO, OCSP_STATUS_UNAUTHORIZED,       \
                          "Request unauthorized" )
 #define EPROTO_STATUS( status )                                                \
-       EUNIQ ( EPROTO, (status), EPROTO_MALFORMED_REQUEST,             \
+       EUNIQ ( EINFO_EPROTO, (status), EPROTO_MALFORMED_REQUEST,       \
                EPROTO_INTERNAL_ERROR, EPROTO_TRY_LATER,                \
                EPROTO_SIG_REQUIRED, EPROTO_UNAUTHORIZED )
 
index b45ae630454c76c97cbd8ccf3e0a2fb913b2307e..4245f019b23dc2d792b2688ddc0ff0b06adf201d 100644 (file)
@@ -89,7 +89,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #define EINFO_EIO_COMPLETED \
        __einfo_uniqify ( EINFO_EIO, 0x0f, "Completed" )
 #define EIO_SENSE( key )                                               \
-       EUNIQ ( EIO, (key), EIO_NO_SENSE, EIO_RECOVERED_ERROR,          \
+       EUNIQ ( EINFO_EIO, (key), EIO_NO_SENSE, EIO_RECOVERED_ERROR,    \
                EIO_NOT_READY, EIO_MEDIUM_ERROR, EIO_HARDWARE_ERROR,    \
                EIO_ILLEGAL_REQUEST, EIO_UNIT_ATTENTION,                \
                EIO_DATA_PROTECT, EIO_BLANK_CHECK, EIO_VENDOR_SPECIFIC, \
index 098a973eb5bbf0f5c37c2821474518923659abf5..70a97b2f952566158939b0d4173761085a079aee 100644 (file)
@@ -93,7 +93,7 @@ FEATURE ( FEATURE_PROTOCOL, "SRP", DHCP_EB_FEATURE_SRP, 1 );
        SRP_LOGIN_REJ_REASON_NO_MORE_CHANNELS,                                \
        "RDMA channel limit reached for this initiator" )
 #define EPERM_LOGIN_REJ( reason_nibble )                                     \
-       EUNIQ ( EPERM, (reason_nibble), EPERM_UNKNOWN,                        \
+       EUNIQ ( EINFO_EPERM, (reason_nibble), EPERM_UNKNOWN,                  \
                EPERM_INSUFFICIENT_RESOURCES, EPERM_BAD_MAX_I_T_IU_LEN,       \
                EPERM_CANNOT_ASSOCIATE, EPERM_UNSUPPORTED_BUFFER_FORMAT,      \
                EPERM_NO_MULTIPLE_CHANNELS, EPERM_NO_MORE_CHANNELS )
index bd4ddaf41be6becc0564f08e460a8804c52d3265..bb70136bd6083a3a39debd2b4635113ba57b75c3 100644 (file)
@@ -187,8 +187,8 @@ extern char missing_errfile_declaration[] __attribute__ (( deprecated ));
 /**
  * Disambiguate a base error based on non-constant information
  *
- * @v error_base       Base error
- * @v uniq             Error disambiguator
+ * @v einfo_base       Base error information
+ * @v uniq             Error disambiguator (0x00-0x1f)
  * @v ...              List of expected possible disambiguated errors
  * @ret error          Error
  *
@@ -200,9 +200,10 @@ extern char missing_errfile_declaration[] __attribute__ (( deprecated ));
  * EUNIQ() should not be used for constant error disambiguators; use
  * __einfo_uniqify() instead.
  */
-#define EUNIQ( errno, uniq, ... ) ( {                                  \
-       euniq_discard ( 0, ##__VA_ARGS__);                              \
-       ( ( int ) ( (errno) | ( (uniq) << 8 ) ) ); } )
+#define EUNIQ( einfo_base, uniq, ... ) ( {                             \
+       euniq_discard ( 0, ##__VA_ARGS__ );                             \
+       ( ( int ) ( __einfo_error ( einfo_base ) |                      \
+                   ( (uniq) << 8 ) ) ); } )
 static inline void euniq_discard ( int dummy __unused, ... ) {}
 
 /**
index 2175b1438de3b5f59948bea9e6370981150107e8..7df3d0d85c60fd1e540b687d879e45327a99dfd6 100644 (file)
@@ -553,81 +553,83 @@ FILE_LICENCE ( GPL2_OR_LATER );
 
 /** Make return status code from 802.11 status code */
 #define E80211_STATUS( stat )                                          \
-       EUNIQ ( ( ( stat & 0x20 ) ? EHOSTUNREACH : ECONNREFUSED ),      \
-               ( stat &0x1f ),                                         \
-               ECONNREFUSED_FAILURE,                                   \
-               ECONNREFUSED_CAPAB_UNSUPP,                              \
-               ECONNREFUSED_REASSOC_INVALID,                           \
-               ECONNREFUSED_ASSOC_DENIED,                              \
-               ECONNREFUSED_AUTH_ALGO_UNSUPP,                          \
-               ECONNREFUSED_AUTH_SEQ_INVALID,                          \
-               ECONNREFUSED_AUTH_CHALL_INVALID,                        \
-               ECONNREFUSED_AUTH_TIMEOUT,                              \
-               ECONNREFUSED_ASSOC_NO_ROOM,                             \
-               ECONNREFUSED_ASSOC_NEED_RATE,                           \
-               ECONNREFUSED_ASSOC_NEED_SHORT_PMBL,                     \
-               ECONNREFUSED_ASSOC_NEED_PBCC,                           \
-               ECONNREFUSED_ASSOC_NEED_CHAN_AGILITY,                   \
-               ECONNREFUSED_ASSOC_NEED_SPECTRUM_MGMT,                  \
-               ECONNREFUSED_ASSOC_BAD_POWER,                           \
-               ECONNREFUSED_ASSOC_BAD_CHANNELS,                        \
-               ECONNREFUSED_ASSOC_NEED_SHORT_SLOT,                     \
-               ECONNREFUSED_ASSOC_NEED_DSSS_OFDM,                      \
-               EHOSTUNREACH_QOS_FAILURE,                               \
-               EHOSTUNREACH_QOS_NO_ROOM,                               \
-               EHOSTUNREACH_LINK_IS_HORRIBLE,                          \
-               EHOSTUNREACH_ASSOC_NEED_QOS,                            \
-               EHOSTUNREACH_REQUEST_DECLINED,                          \
-               EHOSTUNREACH_REQUEST_INVALID,                           \
-               EHOSTUNREACH_TS_NOT_CREATED_AGAIN,                      \
-               EHOSTUNREACH_INVALID_IE,                                \
-               EHOSTUNREACH_GROUP_CIPHER_INVALID,                      \
-               EHOSTUNREACH_PAIR_CIPHER_INVALID,                       \
-               EHOSTUNREACH_AKMP_INVALID,                              \
-               EHOSTUNREACH_RSN_VERSION_UNSUPP,                        \
-               EHOSTUNREACH_RSN_CAPAB_INVALID,                         \
-               EHOSTUNREACH_CIPHER_REJECTED,                           \
-               EHOSTUNREACH_TS_NOT_CREATED_WAIT,                       \
-               EHOSTUNREACH_DIRECT_LINK_FORBIDDEN,                     \
-               EHOSTUNREACH_DEST_NOT_PRESENT,                          \
-               EHOSTUNREACH_DEST_NOT_QOS,                              \
-               EHOSTUNREACH_ASSOC_LISTEN_TOO_HIGH )
+       ( ( (stat) & 0x20 ) ?                                           \
+         EUNIQ ( EINFO_EHOSTUNREACH, ( (stat) & 0x1f ),                \
+                 EHOSTUNREACH_QOS_FAILURE,                             \
+                 EHOSTUNREACH_QOS_NO_ROOM,                             \
+                 EHOSTUNREACH_LINK_IS_HORRIBLE,                        \
+                 EHOSTUNREACH_ASSOC_NEED_QOS,                          \
+                 EHOSTUNREACH_REQUEST_DECLINED,                        \
+                 EHOSTUNREACH_REQUEST_INVALID,                         \
+                 EHOSTUNREACH_TS_NOT_CREATED_AGAIN,                    \
+                 EHOSTUNREACH_INVALID_IE,                              \
+                 EHOSTUNREACH_GROUP_CIPHER_INVALID,                    \
+                 EHOSTUNREACH_PAIR_CIPHER_INVALID,                     \
+                 EHOSTUNREACH_AKMP_INVALID,                            \
+                 EHOSTUNREACH_RSN_VERSION_UNSUPP,                      \
+                 EHOSTUNREACH_RSN_CAPAB_INVALID,                       \
+                 EHOSTUNREACH_CIPHER_REJECTED,                         \
+                 EHOSTUNREACH_TS_NOT_CREATED_WAIT,                     \
+                 EHOSTUNREACH_DIRECT_LINK_FORBIDDEN,                   \
+                 EHOSTUNREACH_DEST_NOT_PRESENT,                        \
+                 EHOSTUNREACH_DEST_NOT_QOS,                            \
+                 EHOSTUNREACH_ASSOC_LISTEN_TOO_HIGH ) :                \
+         EUNIQ ( EINFO_ECONNREFUSED, ( (stat) & 0x1f ),                \
+                 ECONNREFUSED_FAILURE,                                 \
+                 ECONNREFUSED_CAPAB_UNSUPP,                            \
+                 ECONNREFUSED_REASSOC_INVALID,                         \
+                 ECONNREFUSED_ASSOC_DENIED,                            \
+                 ECONNREFUSED_AUTH_ALGO_UNSUPP,                        \
+                 ECONNREFUSED_AUTH_SEQ_INVALID,                        \
+                 ECONNREFUSED_AUTH_CHALL_INVALID,                      \
+                 ECONNREFUSED_AUTH_TIMEOUT,                            \
+                 ECONNREFUSED_ASSOC_NO_ROOM,                           \
+                 ECONNREFUSED_ASSOC_NEED_RATE,                         \
+                 ECONNREFUSED_ASSOC_NEED_SHORT_PMBL,                   \
+                 ECONNREFUSED_ASSOC_NEED_PBCC,                         \
+                 ECONNREFUSED_ASSOC_NEED_CHAN_AGILITY,                 \
+                 ECONNREFUSED_ASSOC_NEED_SPECTRUM_MGMT,                \
+                 ECONNREFUSED_ASSOC_BAD_POWER,                         \
+                 ECONNREFUSED_ASSOC_BAD_CHANNELS,                      \
+                 ECONNREFUSED_ASSOC_NEED_SHORT_SLOT,                   \
+                 ECONNREFUSED_ASSOC_NEED_DSSS_OFDM ) )
 
 /** Make return status code from 802.11 reason code */
 #define E80211_REASON( reas )                                          \
-       EUNIQ ( ( ( reas & 0x20 ) ? ENETRESET : ECONNRESET ),           \
-               ( reas & 0x1f ),                                        \
-               ECONNRESET_UNSPECIFIED,                                 \
-               ECONNRESET_AUTH_NO_LONGER_VALID,                        \
-               ECONNRESET_LEAVING,                                     \
-               ECONNRESET_INACTIVITY,                                  \
-               ECONNRESET_OUT_OF_RESOURCES,                            \
-               ECONNRESET_NEED_AUTH,                                   \
-               ECONNRESET_NEED_ASSOC,                                  \
-               ECONNRESET_LEAVING_TO_ROAM,                             \
-               ECONNRESET_REASSOC_INVALID,                             \
-               ECONNRESET_BAD_POWER,                                   \
-               ECONNRESET_BAD_CHANNELS,                                \
-               ECONNRESET_INVALID_IE,                                  \
-               ECONNRESET_MIC_FAILURE,                                 \
-               ECONNRESET_4WAY_TIMEOUT,                                \
-               ECONNRESET_GROUPKEY_TIMEOUT,                            \
-               ECONNRESET_4WAY_INVALID,                                \
-               ECONNRESET_GROUP_CIPHER_INVALID,                        \
-               ECONNRESET_PAIR_CIPHER_INVALID,                         \
-               ECONNRESET_AKMP_INVALID,                                \
-               ECONNRESET_RSN_VERSION_INVALID,                         \
-               ECONNRESET_RSN_CAPAB_INVALID,                           \
-               ECONNRESET_8021X_FAILURE,                               \
-               ECONNRESET_CIPHER_REJECTED,                             \
-               ENETRESET_QOS_UNSPECIFIED,                              \
-               ENETRESET_QOS_OUT_OF_RESOURCES,                         \
-               ENETRESET_LINK_IS_HORRIBLE,                             \
-               ENETRESET_INVALID_TXOP,                                 \
-               ENETRESET_REQUESTED_LEAVING,                            \
-               ENETRESET_REQUESTED_NO_USE,                             \
-               ENETRESET_REQUESTED_NEED_SETUP,                         \
-               ENETRESET_REQUESTED_TIMEOUT,                            \
-               ENETRESET_CIPHER_UNSUPPORTED )
+       ( ( (reas) & 0x20 ) ?                                           \
+         EUNIQ ( EINFO_ENETRESET, ( (reas) & 0x1f ),                   \
+                 ENETRESET_QOS_UNSPECIFIED,                            \
+                 ENETRESET_QOS_OUT_OF_RESOURCES,                       \
+                 ENETRESET_LINK_IS_HORRIBLE,                           \
+                 ENETRESET_INVALID_TXOP,                               \
+                 ENETRESET_REQUESTED_LEAVING,                          \
+                 ENETRESET_REQUESTED_NO_USE,                           \
+                 ENETRESET_REQUESTED_NEED_SETUP,                       \
+                 ENETRESET_REQUESTED_TIMEOUT,                          \
+                 ENETRESET_CIPHER_UNSUPPORTED ) :                      \
+         EUNIQ ( EINFO_ECONNRESET, ( (reas) & 0x1f ),                  \
+                 ECONNRESET_UNSPECIFIED,                               \
+                 ECONNRESET_AUTH_NO_LONGER_VALID,                      \
+                 ECONNRESET_LEAVING,                                   \
+                 ECONNRESET_INACTIVITY,                                \
+                 ECONNRESET_OUT_OF_RESOURCES,                          \
+                 ECONNRESET_NEED_AUTH,                                 \
+                 ECONNRESET_NEED_ASSOC,                                \
+                 ECONNRESET_LEAVING_TO_ROAM,                           \
+                 ECONNRESET_REASSOC_INVALID,                           \
+                 ECONNRESET_BAD_POWER,                                 \
+                 ECONNRESET_BAD_CHANNELS,                              \
+                 ECONNRESET_INVALID_IE,                                \
+                 ECONNRESET_MIC_FAILURE,                               \
+                 ECONNRESET_4WAY_TIMEOUT,                              \
+                 ECONNRESET_GROUPKEY_TIMEOUT,                          \
+                 ECONNRESET_4WAY_INVALID,                              \
+                 ECONNRESET_GROUP_CIPHER_INVALID,                      \
+                 ECONNRESET_PAIR_CIPHER_INVALID,                       \
+                 ECONNRESET_AKMP_INVALID,                              \
+                 ECONNRESET_RSN_VERSION_INVALID,                       \
+                 ECONNRESET_RSN_CAPAB_INVALID,                         \
+                 ECONNRESET_8021X_FAILURE,                             \
+                 ECONNRESET_CIPHER_REJECTED ) )
 
 #endif /* _IPXE_NET80211_ERR_H */
index d159edbdfa225a7d3b8a9ce3b57690cdcf43a6ef..d1bc75e90c4805a576a42ac660b7ae7cb18c302e 100644 (file)
@@ -45,8 +45,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
 #define ENOTSUP_CCMP __einfo_error ( EINFO_ENOTSUP_CCMP )
 #define EINFO_ENOTSUP_CCMP __einfo_uniqify ( EINFO_ENOTSUP, \
        ( 0x10 | NET80211_CRYPT_CCMP ), "CCMP not supported" )
-#define ENOTSUP_CRYPT( crypt )              \
-       EUNIQ ( ENOTSUP, ( 0x10 | (crypt) ), \
+#define ENOTSUP_CRYPT( crypt )                    \
+       EUNIQ ( EINFO_ENOTSUP, ( 0x10 | (crypt) ), \
                ENOTSUP_WEP, ENOTSUP_TKIP, ENOTSUP_CCMP )
 
 /** Mapping from net80211 crypto/secprot types to RSN OUI descriptors */