]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospfd/ospf_api.h
zebra: Allow ns delete to happen after under/over flow checks
[mirror_frr.git] / ospfd / ospf_api.h
index 526e8228ff90e91745072d5449cd021ac0c86d78..c99923e7b8261d5ba2959b5ecc02aa4f7d09a518 100644 (file)
 /* Message header structure, fields are in network byte order and
    aligned to four octets. */
 struct apimsghdr {
-       u_char version;   /* OSPF API protocol version */
-       u_char msgtype;   /* Type of message */
-       u_int16_t msglen; /* Length of message w/o header */
-       u_int32_t msgseq; /* Sequence number */
+       uint8_t version; /* OSPF API protocol version */
+       uint8_t msgtype; /* Type of message */
+       uint16_t msglen; /* Length of message w/o header */
+       uint32_t msgseq; /* Sequence number */
 };
 
 /* Message representation with header and body */
@@ -62,8 +62,8 @@ struct msg {
 };
 
 /* Prototypes for generic messages. */
-extern struct msg *msg_new(u_char msgtype, void *msgbody, u_int32_t seqnum,
-                          u_int16_t msglen);
+extern struct msg *msg_new(uint8_t msgtype, void *msgbody, uint32_t seqnum,
+                          uint16_t msglen);
 extern struct msg *msg_dup(struct msg *msg);
 extern void msg_print(struct msg *msg); /* XXX debug only */
 extern void msg_free(struct msg *msg);
@@ -76,8 +76,8 @@ extern int msg_write(int fd, struct msg *msg);
 #define MIN_SEQ          1
 #define MAX_SEQ 2147483647
 
-extern void msg_set_seq(struct msg *msg, u_int32_t seqnr);
-extern u_int32_t msg_get_seq(struct msg *msg);
+extern void msg_set_seq(struct msg *msg, uint32_t seqnr);
+extern uint32_t msg_get_seq(struct msg *msg);
 
 /* -----------------------------------------------------------
  * Message fifo queues
@@ -124,15 +124,15 @@ extern void msg_fifo_free(struct msg_fifo *fifo);
 #define MSG_NSM_CHANGE           17
 
 struct msg_register_opaque_type {
-       u_char lsatype;
-       u_char opaquetype;
-       u_char pad[2]; /* padding */
+       uint8_t lsatype;
+       uint8_t opaquetype;
+       uint8_t pad[2]; /* padding */
 };
 
 struct msg_unregister_opaque_type {
-       u_char lsatype;
-       u_char opaquetype;
-       u_char pad[2]; /* padding */
+       uint8_t lsatype;
+       uint8_t opaquetype;
+       uint8_t pad[2]; /* padding */
 };
 
 /* Power2 is needed to convert LSA types into bit positions,
@@ -141,27 +141,25 @@ struct msg_unregister_opaque_type {
 
 
 #ifdef ORIGINAL_CODING
-static const u_int16_t Power2[] = {0x0,   0x1,    0x2,    0x4,    0x8,   0x10,
-                                  0x20,  0x40,   0x80,   0x100,  0x200, 0x400,
-                                  0x800, 0x1000, 0x2000, 0x4000, 0x8000};
+static const uint16_t Power2[] = {0x0,   0x1,    0x2,    0x4,    0x8,   0x10,
+                                 0x20,  0x40,   0x80,   0x100,  0x200, 0x400,
+                                 0x800, 0x1000, 0x2000, 0x4000, 0x8000};
 #else
-static const u_int16_t Power2[] = {
+static const uint16_t Power2[] = {
        0,       (1 << 0),  (1 << 1),  (1 << 2),  (1 << 3), (1 << 4),
        (1 << 5),  (1 << 6),  (1 << 7),  (1 << 8),  (1 << 9), (1 << 10),
        (1 << 11), (1 << 12), (1 << 13), (1 << 14), (1 << 15)};
 #endif /* ORIGINAL_CODING */
 
 struct lsa_filter_type {
-       u_int16_t typemask; /* bitmask for selecting LSA types (1..16) */
-       u_char origin;      /* selects according to origin. */
-                           /* $FRR indent$ */
-                           /* clang-format off */
+       uint16_t typemask; /* bitmask for selecting LSA types (1..16) */
+       uint8_t origin;    /* selects according to origin. */
 #define NON_SELF_ORIGINATED    0
 #define        SELF_ORIGINATED  (OSPF_LSA_SELF)
 #define        ANY_ORIGIN 2
 
-       u_char num_areas;   /* number of areas in the filter. */
-                           /* areas, if any, go here. */
+       uint8_t num_areas; /* number of areas in the filter. */
+                          /* areas, if any, go here. */
 };
 
 struct msg_register_event {
@@ -185,10 +183,10 @@ struct msg_originate_request {
 
 struct msg_delete_request {
        struct in_addr area_id; /* "0.0.0.0" for AS-external opaque LSAs */
-       u_char lsa_type;
-       u_char opaque_type;
-       u_char pad[2]; /* padding */
-       u_int32_t opaque_id;
+       uint8_t lsa_type;
+       uint8_t opaque_type;
+       uint8_t pad[2]; /* padding */
+       uint32_t opaque_id;
 };
 
 struct msg_reply {
@@ -204,16 +202,16 @@ struct msg_reply {
 #define OSPF_API_NOMEMORY                 (-8)
 #define OSPF_API_ERROR                    (-9)
 #define OSPF_API_UNDEF                   (-10)
-       u_char pad[3]; /* padding to four byte alignment */
+       uint8_t pad[3]; /* padding to four byte alignment */
 };
 
 /* Message to tell client application that it ospf daemon is
  * ready to accept opaque LSAs for a given interface or area. */
 
 struct msg_ready_notify {
-       u_char lsa_type;
-       u_char opaque_type;
-       u_char pad[2];       /* padding */
+       uint8_t lsa_type;
+       uint8_t opaque_type;
+       uint8_t pad[2];      /* padding */
        struct in_addr addr; /* interface address or area address */
 };
 
@@ -226,8 +224,8 @@ struct msg_lsa_change_notify {
        struct in_addr ifaddr;
        /* Area ID. Not valid for AS-External and Opaque11 LSAs. */
        struct in_addr area_id;
-       u_char is_self_originated; /* 1 if self originated. */
-       u_char pad[3];
+       uint8_t is_self_originated; /* 1 if self originated. */
+       uint8_t pad[3];
        struct lsa_header data;
 };
 
@@ -243,16 +241,16 @@ struct msg_del_if {
 struct msg_ism_change {
        struct in_addr ifaddr;  /* interface IP address */
        struct in_addr area_id; /* area this interface belongs to */
-       u_char status;          /* interface status (up/down) */
-       u_char pad[3];          /* not used */
+       uint8_t status;         /* interface status (up/down) */
+       uint8_t pad[3];         /* not used */
 };
 
 struct msg_nsm_change {
        struct in_addr ifaddr;    /* attached interface */
        struct in_addr nbraddr;   /* Neighbor interface address */
        struct in_addr router_id; /* Router ID of neighbor */
-       u_char status;            /* NSM status */
-       u_char pad[3];
+       uint8_t status;           /* NSM status */
+       uint8_t pad[3];
 };
 
 /* We make use of a union to define a structure that covers all
@@ -287,45 +285,45 @@ struct apimsg {
 extern void api_opaque_lsa_print(struct lsa_header *data);
 
 /* Messages sent by client */
-extern struct msg *new_msg_register_opaque_type(u_int32_t seqnum, u_char ltype,
-                                               u_char otype);
-extern struct msg *new_msg_register_event(u_int32_t seqnum,
+extern struct msg *new_msg_register_opaque_type(uint32_t seqnum, uint8_t ltype,
+                                               uint8_t otype);
+extern struct msg *new_msg_register_event(uint32_t seqnum,
                                          struct lsa_filter_type *filter);
-extern struct msg *new_msg_sync_lsdb(u_int32_t seqnum,
+extern struct msg *new_msg_sync_lsdb(uint32_t seqnum,
                                     struct lsa_filter_type *filter);
-extern struct msg *new_msg_originate_request(u_int32_t seqnum,
+extern struct msg *new_msg_originate_request(uint32_t seqnum,
                                             struct in_addr ifaddr,
                                             struct in_addr area_id,
                                             struct lsa_header *data);
-extern struct msg *new_msg_delete_request(u_int32_t seqnum,
+extern struct msg *new_msg_delete_request(uint32_t seqnum,
                                          struct in_addr area_id,
-                                         u_char lsa_type, u_char opaque_type,
-                                         u_int32_t opaque_id);
+                                         uint8_t lsa_type, uint8_t opaque_type,
+                                         uint32_t opaque_id);
 
 /* Messages sent by OSPF daemon */
-extern struct msg *new_msg_reply(u_int32_t seqnum, u_char rc);
+extern struct msg *new_msg_reply(uint32_t seqnum, uint8_t rc);
 
-extern struct msg *new_msg_ready_notify(u_int32_t seqnr, u_char lsa_type,
-                                       u_char opaque_type,
+extern struct msg *new_msg_ready_notify(uint32_t seqnr, uint8_t lsa_type,
+                                       uint8_t opaque_type,
                                        struct in_addr addr);
 
-extern struct msg *new_msg_new_if(u_int32_t seqnr, struct in_addr ifaddr,
+extern struct msg *new_msg_new_if(uint32_t seqnr, struct in_addr ifaddr,
                                  struct in_addr area);
 
-extern struct msg *new_msg_del_if(u_int32_t seqnr, struct in_addr ifaddr);
+extern struct msg *new_msg_del_if(uint32_t seqnr, struct in_addr ifaddr);
 
-extern struct msg *new_msg_ism_change(u_int32_t seqnr, struct in_addr ifaddr,
-                                     struct in_addr area, u_char status);
+extern struct msg *new_msg_ism_change(uint32_t seqnr, struct in_addr ifaddr,
+                                     struct in_addr area, uint8_t status);
 
-extern struct msg *new_msg_nsm_change(u_int32_t seqnr, struct in_addr ifaddr,
+extern struct msg *new_msg_nsm_change(uint32_t seqnr, struct in_addr ifaddr,
                                      struct in_addr nbraddr,
-                                     struct in_addr router_id, u_char status);
+                                     struct in_addr router_id, uint8_t status);
 
 /* msgtype is MSG_LSA_UPDATE_NOTIFY or MSG_LSA_DELETE_NOTIFY */
-extern struct msg *new_msg_lsa_change_notify(u_char msgtype, u_int32_t seqnum,
+extern struct msg *new_msg_lsa_change_notify(uint8_t msgtype, uint32_t seqnum,
                                             struct in_addr ifaddr,
                                             struct in_addr area_id,
-                                            u_char is_self_originated,
+                                            uint8_t is_self_originated,
                                             struct lsa_header *data);
 
 /* string printing functions */