summaryrefslogtreecommitdiff
path: root/isisd/isis_flags.h
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2012-04-16 18:24:40 +0200
committerDavid Lamparter <equinox@diac24.net>2012-04-16 18:24:43 +0200
commitd75318cc8de91d94649106f4ea3122d0d21ac9eb (patch)
tree6d7c674c4026bccd1384e60ee228d8d67750fbf7 /isisd/isis_flags.h
parent6e493a44836d3b034ed3421e866878de3fbfcc5b (diff)
parent48d8bea8b7c83cf186460f711ab166455b5ed676 (diff)
isisd: merge osr/google-is-is
this is essentially half of a rewrite of isisd. please note that a lot of things are still broken and isisd is not ready for production use.
Diffstat (limited to 'isisd/isis_flags.h')
-rw-r--r--isisd/isis_flags.h35
1 files changed, 25 insertions, 10 deletions
diff --git a/isisd/isis_flags.h b/isisd/isis_flags.h
index 13dd9e14..e2e42adc 100644
--- a/isisd/isis_flags.h
+++ b/isisd/isis_flags.h
@@ -26,28 +26,43 @@
/* The grand plan is to support 1024 circuits so we have 32*32 bit flags
* 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);
-int flags_get_index (struct flags *flags);
-void flags_free_index (struct flags *flags, int index);
+/*
+ * Flags structure for SSN and SRM flags
+ */
+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);
#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) \
- 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 */
#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) \
- memset(FLAGS,0x00,ISIS_MAX_CIRCUITS*4);
+ { \
+ memset(FLAGS,0x00,ISIS_MAX_CIRCUITS*4); \
+ }
#endif /* _ZEBRA_ISIS_FLAGS_H */