|
Data Structures | |
| struct | nl_object_ops |
| Object Operations. More... | |
Macros | |
| #define | NLHDR_COMMON |
| Common Object Header. More... | |
| #define | AVAILABLE(A, B, ATTR) (((A)->ce_mask & (B)->ce_mask) & (ATTR)) |
| Return true if attribute is available in both objects. More... | |
| #define | AVAILABLE_MISMATCH(A, B, ATTR) (((A)->ce_mask ^ (B)->ce_mask) & (ATTR)) |
| Return true if attribute is available in only one of both objects. More... | |
| #define | ATTR_MISMATCH(A, B, ATTR, EXPR) |
| Return true if attributes mismatch. More... | |
| #define | ATTR_DIFF(LIST, ATTR, A, B, EXPR) |
| Return attribute bit if attribute does not match. More... | |
| #define ATTR_DIFF | ( | LIST, | |
| ATTR, | |||
| A, | |||
| B, | |||
| EXPR | |||
| ) |
Return attribute bit if attribute does not match.
This function will check if the attribute in question is available in both objects, if not this will count as a mismatch.
If available the function will execute the expression which must return true if the attributes mismatch.
In case the attributes mismatch, the attribute is returned, otherwise 0 is returned.
| #define ATTR_MISMATCH | ( | A, | |
| B, | |||
| ATTR, | |||
| EXPR | |||
| ) |
Return true if attributes mismatch.
This function will check if the attribute in question is available in both objects, if not this will count as a mismatch.
If available the function will execute the expression which must return true if the attributes mismatch.
| #define AVAILABLE | ( | A, | |
| B, | |||
| ATTR | |||
| ) | (((A)->ce_mask & (B)->ce_mask) & (ATTR)) |
Return true if attribute is available in both objects.
| #define AVAILABLE_MISMATCH | ( | A, | |
| B, | |||
| ATTR | |||
| ) | (((A)->ce_mask ^ (B)->ce_mask) & (ATTR)) |
Return true if attribute is available in only one of both objects.
| #define NLHDR_COMMON |
Common Object Header.
This macro must be included as first member in every object definition to allow objects to be cached.