]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/memory.h
Merge pull request #13649 from donaldsharp/unlock_the_node_or_else
[mirror_frr.git] / lib / memory.h
index e9db12fce2ca85738165df3a7c9b4e0fba6f3d03..ba437ebd0ed92ffe422ae278cb1fc4539e9a87db 100644 (file)
@@ -1,17 +1,6 @@
+// SPDX-License-Identifier: ISC
 /*
  * Copyright (c) 2015-16  David Lamparter, for NetDEF, Inc.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
 #ifndef _QUAGGA_MEMORY_H
@@ -56,20 +45,20 @@ struct memgroup {
 /* macro usage:
  *
  *  mydaemon.h
- *    DECLARE_MGROUP(MYDAEMON)
- *    DECLARE_MTYPE(MYDAEMON_COMMON)
+ *    DECLARE_MGROUP(MYDAEMON);
+ *    DECLARE_MTYPE(MYDAEMON_COMMON);
  *
  *  mydaemon.c
- *    DEFINE_MGROUP(MYDAEMON, "my daemon memory")
+ *    DEFINE_MGROUP(MYDAEMON, "my daemon memory");
  *    DEFINE_MTYPE(MYDAEMON, MYDAEMON_COMMON,
- *                   "this mtype is used in multiple files in mydaemon")
+ *                   "this mtype is used in multiple files in mydaemon");
  *    foo = qmalloc(MTYPE_MYDAEMON_COMMON, sizeof(*foo))
  *
  *  mydaemon_io.c
  *    bar = qmalloc(MTYPE_MYDAEMON_COMMON, sizeof(*bar))
  *
  *    DEFINE_MTYPE_STATIC(MYDAEMON, MYDAEMON_IO,
- *                          "this mtype is used only in this file")
+ *                          "this mtype is used only in this file");
  *    baz = qmalloc(MTYPE_MYDAEMON_IO, sizeof(*baz))
  *
  *  Note:  Naming conventions (MGROUP_ and MTYPE_ prefixes are enforced
@@ -78,7 +67,7 @@ struct memgroup {
  *         but MGROUP_* aren't.
  */
 
-#define DECLARE_MGROUP(name) extern struct memgroup _mg_##name;
+#define DECLARE_MGROUP(name) extern struct memgroup _mg_##name
 #define _DEFINE_MGROUP(mname, desc, ...)                                       \
        struct memgroup _mg_##mname                                            \
                __attribute__((section(".data.mgroups"))) = {                  \
@@ -104,7 +93,7 @@ struct memgroup {
                        _mg_##mname.next->ref = _mg_##mname.ref;               \
                *_mg_##mname.ref = _mg_##mname.next;                           \
        }                                                                      \
-       /* end */
+       MACRO_REQUIRE_SEMICOLON() /* end */
 
 #define DEFINE_MGROUP(mname, desc) \
        _DEFINE_MGROUP(mname, desc, )
@@ -112,7 +101,7 @@ struct memgroup {
        _DEFINE_MGROUP(mname, desc, .active_at_exit = true)
 
 #define DECLARE_MTYPE(name)                                                    \
-       extern struct memtype MTYPE_##name[1];                                 \
+       extern struct memtype MTYPE_##name[1]                                  \
        /* end */
 
 #define DEFINE_MTYPE_ATTR(group, mname, attr, desc)                            \
@@ -140,7 +129,7 @@ struct memgroup {
                        MTYPE_##mname->next->ref = MTYPE_##mname->ref;         \
                *MTYPE_##mname->ref = MTYPE_##mname->next;                     \
        }                                                                      \
-       /* end */
+       MACRO_REQUIRE_SEMICOLON() /* end */
 
 #define DEFINE_MTYPE(group, name, desc)                                        \
        DEFINE_MTYPE_ATTR(group, name, , desc)                                 \
@@ -150,8 +139,8 @@ struct memgroup {
        DEFINE_MTYPE_ATTR(group, name, static, desc)                           \
        /* end */
 
-DECLARE_MGROUP(LIB)
-DECLARE_MTYPE(TMP)
+DECLARE_MGROUP(LIB);
+DECLARE_MTYPE(TMP);
 
 
 extern void *qmalloc(struct memtype *mt, size_t size)