From df5afa4fcd9725380f94ca6476248d4cc24f889a Mon Sep 17 00:00:00 2001 From: Ashlee Young Date: Sun, 29 Nov 2015 08:22:13 -0800 Subject: v2.4.4 audit sources Change-Id: I9315a7408817db51edf084fb4d27fbb492785084 Signed-off-by: Ashlee Young --- framework/src/audit/auparse/data_buf.h | 80 ++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 framework/src/audit/auparse/data_buf.h (limited to 'framework/src/audit/auparse/data_buf.h') diff --git a/framework/src/audit/auparse/data_buf.h b/framework/src/audit/auparse/data_buf.h new file mode 100644 index 00000000..66323fb7 --- /dev/null +++ b/framework/src/audit/auparse/data_buf.h @@ -0,0 +1,80 @@ +/* data_buf.h -- + * Copyright 2007 Red Hat Inc., Durham, North Carolina. + * All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Authors: + * John Dennis + */ + +#ifndef DATA_BUF_HEADER +#define DATA_BUF_HEADER + +/*****************************************************************************/ +/******************************* Include Files *******************************/ +/*****************************************************************************/ +#include "config.h" +#include "private.h" + +/*****************************************************************************/ +/*********************************** Defines *********************************/ +/*****************************************************************************/ + +#define DATABUF_FLAG_PRESERVE_HEAD (1 << 0) +#define DATABUF_FLAG_STRING (2 << 0) + + +/*****************************************************************************/ +/******************************* Type Definitions ****************************/ +/*****************************************************************************/ + +typedef struct Databuf { + unsigned flags; + size_t alloc_size; + char *alloc_ptr; + size_t offset; + size_t len; + size_t max_len; +} DataBuf; + +/*****************************************************************************/ +/************************* External Global Variables ***********************/ +/*****************************************************************************/ + +/*****************************************************************************/ +/***************************** Inline Functions ****************************/ +/*****************************************************************************/ + +static inline char *databuf_beg(DataBuf *db) +{return (db->alloc_ptr == NULL) ? NULL : db->alloc_ptr+db->offset;} + +/*****************************************************************************/ +/**************************** Exported Functions ***************************/ +/*****************************************************************************/ + +void databuf_print(DataBuf *db, int print_data, char *fmt, ...) hidden +#ifdef __GNUC__ + __attribute__ ((format (printf, 3, 4))); +#else + ; +#endif +int databuf_init(DataBuf *db, size_t size, unsigned flags) hidden; +void databuf_free(DataBuf *db) hidden; +int databuf_append(DataBuf *db, const char *src, size_t src_size) hidden; +int databuf_advance(DataBuf *db, size_t advance) hidden; +int databuf_reset(DataBuf *db) hidden; + +#endif -- cgit 1.2.3-korg