version 1.1.1.1, 2012/02/21 17:26:11
|
version 1.1.1.2, 2012/10/09 09:22:28
|
Line 26
|
Line 26
|
|
|
/* The grand plan is to support 1024 circuits so we have 32*32 bit flags |
/* The grand plan is to support 1024 circuits so we have 32*32 bit flags |
* the support will be achived using the newest drafts */ |
* the support will be achived using the newest drafts */ |
#define ISIS_MAX_CIRCUITS 32 /* = 1024 */ /*FIXME:defined in lsp.h as well */ | #define ISIS_MAX_CIRCUITS 32 /* = 1024 */ |
|
|
void flags_initialize (struct flags *flags); | /* |
struct flags *new_flags (int size); | * Flags structure for SSN and SRM flags |
int flags_get_index (struct flags *flags); | */ |
void flags_free_index (struct flags *flags, int index); | struct flags |
| { |
| int maxindex; |
| struct list *free_idcs; |
| }; |
|
|
|
void flags_initialize (struct flags *flags); |
|
long int flags_get_index (struct flags *flags); |
|
void flags_free_index (struct flags *flags, long int index); |
int flags_any_set (u_int32_t * flags); |
int flags_any_set (u_int32_t * flags); |
|
|
#define ISIS_SET_FLAG(F,C) \ |
#define ISIS_SET_FLAG(F,C) \ |
F[C->idx>>5] |= (1<<(C->idx & 0x1F)); | { \ |
| F[C->idx>>5] |= (1<<(C->idx & 0x1F)); \ |
| } |
|
|
#define ISIS_CLEAR_FLAG(F,C) \ |
#define ISIS_CLEAR_FLAG(F,C) \ |
F[C->idx>>5] &= ~(1<<(C->idx & 0x1F)); | { \ |
| F[C->idx>>5] &= ~(1<<(C->idx & 0x1F)); \ |
| } |
|
|
#define ISIS_CHECK_FLAG(F, C) F[(C)->idx>>5] & (1<<(C->idx & 0x1F)) | #define ISIS_CHECK_FLAG(F, C) (F[(C)->idx>>5] & (1<<(C->idx & 0x1F))) |
|
|
/* sets all u_32int_t flags to 1 */ |
/* sets all u_32int_t flags to 1 */ |
#define ISIS_FLAGS_SET_ALL(FLAGS) \ |
#define ISIS_FLAGS_SET_ALL(FLAGS) \ |
memset(FLAGS,0xFF,ISIS_MAX_CIRCUITS*4); | { \ |
| memset(FLAGS,0xFF,ISIS_MAX_CIRCUITS*4); \ |
| } |
|
|
#define ISIS_FLAGS_CLEAR_ALL(FLAGS) \ |
#define ISIS_FLAGS_CLEAR_ALL(FLAGS) \ |
memset(FLAGS,0x00,ISIS_MAX_CIRCUITS*4); | { \ |
| memset(FLAGS,0x00,ISIS_MAX_CIRCUITS*4); \ |
| } |
|
|
#endif /* _ZEBRA_ISIS_FLAGS_H */ |
#endif /* _ZEBRA_ISIS_FLAGS_H */ |