]> git.proxmox.com Git - mirror_frr.git/blobdiff - qpb/qpb_allocator.h
Merge pull request #3448 from chiragshah6/evpn_dev1
[mirror_frr.git] / qpb / qpb_allocator.h
index 83ddf56cbc926b36ee8823eb52c0e4182d66d335..fd55592f88976396568325a8849fc1590094b2d4 100644 (file)
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with Quagga; see the file COPYING.  If not, write to the Free
- * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; see the file COPYING; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 /*
- * Header file for quagga protobuf memory management code.
+ * Header file for Quagga/FRR protobuf memory management code.
  */
 
 #ifndef _QPB_ALLOCATOR_H_
@@ -42,10 +41,9 @@ typedef ProtobufCAllocator qpb_allocator_t;
 /*
  * qpb_alloc
  */
-static inline void *
-qpb_alloc (qpb_allocator_t *allocator, size_t size)
+static inline void *qpb_alloc(qpb_allocator_t *allocator, size_t size)
 {
-  return allocator->alloc (allocator->allocator_data, size);
+       return allocator->alloc(allocator->allocator_data, size);
 }
 
 /*
@@ -53,19 +51,18 @@ qpb_alloc (qpb_allocator_t *allocator, size_t size)
  *
  * Allocate space for the specified number of pointers.
  */
-static inline void *
-qpb_alloc_ptr_array (qpb_allocator_t *allocator, size_t num_ptrs)
+static inline void *qpb_alloc_ptr_array(qpb_allocator_t *allocator,
+                                       size_t num_ptrs)
 {
-  return qpb_alloc (allocator, num_ptrs * sizeof (void *));
+       return qpb_alloc(allocator, num_ptrs * sizeof(void *));
 }
 
 /*
  * qpb_free
  */
-static inline void
-qpb_free (qpb_allocator_t *allocator, void *ptr)
+static inline void qpb_free(qpb_allocator_t *allocator, void *ptr)
 {
-  allocator->free (allocator->allocator_data, ptr);
+       allocator->free(allocator->allocator_data, ptr);
 }
 
 /*
@@ -75,39 +72,35 @@ qpb_free (qpb_allocator_t *allocator, void *ptr)
  * incorrect size. It returns enough memory to store the given type,
  * and evaluates to an appropriately typed pointer.
  */
-#define QPB_ALLOC(allocator, type)             \
-  (type *) qpb_alloc(allocator, sizeof(type))
-
+#define QPB_ALLOC(allocator, type) (type *)qpb_alloc(allocator, sizeof(type))
 
 /*
  * Externs.
  */
-extern void qpb_allocator_init_linear (qpb_allocator_t *,
-                                      struct linear_allocator_t_ *);
+extern void qpb_allocator_init_linear(qpb_allocator_t *,
+                                     struct linear_allocator_t_ *);
 
 /*
  * The following macros are for the common case where a qpb allocator
  * is being used alongside a linear allocator that allocates memory
  * off of the stack.
  */
-#define QPB_DECLARE_STACK_ALLOCATOR(allocator, size)   \
-    qpb_allocator_t allocator;                         \
-    linear_allocator_t lin_ ## allocator;              \
-    char lin_ ## allocator ## _buf[size]
+#define QPB_DECLARE_STACK_ALLOCATOR(allocator, size)                           \
+       qpb_allocator_t allocator;                                             \
+       linear_allocator_t lin_##allocator;                                    \
+       char lin_##allocator##_buf[size]
 
-#define QPB_INIT_STACK_ALLOCATOR(allocator)                            \
-  do                                                                   \
-    {                                                                  \
-      linear_allocator_init(&(lin_ ## allocator),                      \
-                           lin_ ## allocator ## _buf,                  \
-                           sizeof(lin_ ## allocator ## _buf));         \
-      qpb_allocator_init_linear(&allocator, &(lin_ ## allocator));     \
-    } while (0)
+#define QPB_INIT_STACK_ALLOCATOR(allocator)                                    \
+       do {                                                                   \
+               linear_allocator_init(&(lin_##allocator),                      \
+                                     lin_##allocator##_buf,                   \
+                                     sizeof(lin_##allocator##_buf));          \
+               qpb_allocator_init_linear(&allocator, &(lin_##allocator));     \
+       } while (0)
 
-#define QPB_RESET_STACK_ALLOCATOR(allocator)           \
-  do                                                   \
-    {                                                  \
-      linear_allocator_reset (&(lin_ ## allocator));   \
-    } while (0)
+#define QPB_RESET_STACK_ALLOCATOR(allocator)                                   \
+       do {                                                                   \
+               linear_allocator_reset(&(lin_##allocator));                    \
+       } while (0)
 
 #endif /* _QPB_ALLOCATOR_H_ */