PERFORCE change 167001 for review

Stacey Son sson at FreeBSD.org
Tue Aug 4 18:23:14 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=167001

Change 167001 by sson at sson_amd64 on 2009/08/04 18:22:38

	Addition of au_write_tok() to au_io(3) API.
	
	We consolidate the 'raw', 'xml', and 'sfrm' (short format) 
	flag arguments into a single bit field argument for all the
	bsm_io.c output formatting functions.  This cleans up the
	code and makes it much easier to add new formatting flags
	in the future.

Affected files ...

.. //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#46 edit
.. //depot/projects/trustedbsd/openbsm/libbsm/au_io.3#6 edit
.. //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#64 edit

Differences ...

==== //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#46 (text+ko) ====

@@ -26,7 +26,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#45 $
+ * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#46 $
  */
 
 #ifndef _LIBBSM_H_
@@ -100,6 +100,14 @@
 #define	AU_TO_NO_WRITE		0	/* Abandon audit record. */
 #define	AU_TO_WRITE		1	/* Commit audit record. */
 
+/*
+ * Output format flags to au_write_tok().
+ */
+#define	AU_OFLAG_NONE		0x0000	/* Default form. */
+#define	AU_OFLAG_RAW		0x0001	/* Raw, numeric form. */
+#define	AU_OFLAG_SHORT		0x0002	/* Short form. */
+#define	AU_OFLAG_XML		0x0004	/* XML form. */
+
 __BEGIN_DECLS
 struct au_event_ent {
 	au_event_t	 ae_number;
@@ -823,6 +831,8 @@
 			    char *del, char raw, char sfrm);
 void			 au_print_tok_xml(FILE *outfp, tokenstr_t *tok,
 			    char *del, char raw, char sfrm);
+void			 au_write_tok(FILE *outfp, tokenstr_t *tok,
+			    char *del, int oflags);
 
 /* 
  * Functions relating to XML output.

==== //depot/projects/trustedbsd/openbsm/libbsm/au_io.3#6 (text+ko) ====

@@ -23,9 +23,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/au_io.3#5 $
+.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/au_io.3#6 $
 .\"
-.Dd April 19, 2005
+.Dd August 4, 2009
 .Dt AU_IO 3
 .Os
 .Sh NAME
@@ -45,6 +45,10 @@
 .Fc
 .Ft int
 .Fn au_read_rec "FILE *fp" "u_char **buf"
+.Ft void
+.Fo au_write_tok
+.Fa "FILE *outfp" "tokenstr_t *tok" "char *del" "int oflags"
+.Fc
 .Sh DESCRIPTION
 These interfaces support input and output (I/O) involving audit records,
 internalizing an audit record from a byte stream, converting a token to
@@ -73,7 +77,29 @@
 The delimiter
 .Fa del
 is used when printing.
+The
+.Fn au_write_tok
+function is a replacement for
+.Fn au_print_tok .
+The 
+.Fa oflags
+controls how the output should be formatted and is specified by
+or'ing the following flags:
 .Pp
+.Bl -tag -width AU_OFLAG_SHORT -compact -offset indent
+.It Li AU_OFLAG_NONE
+Use the default form.
+.It Li AU_OFLAG_RAW
+Use the raw, numeric form.
+.It Li AU_OFLAG_SHORT
+Use the short form.
+.It Li AU_OFLAG_XML
+Use the XML form.
+.El
+.Pp
+The flags options AU_OFLAG_SHORT and AU_OFLAG_RAW are exclusive and
+should not be used together.
+.Pp
 The
 .Fn au_read_rec
 function
@@ -92,7 +118,7 @@
 calls to
 .Fn au_fetch_tok
 on the buffer, and then invoking
-.Fn au_print_tok
+.Fn au_write_tok
 to print each token to an output stream such as
 .Dv stdout .
 On completion of the processing of each record, a call to

==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#64 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2004-2008 Apple Inc.
+ * Copyright (c) 2004-2009 Apple Inc.
  * Copyright (c) 2005 SPARTA, Inc.
  * Copyright (c) 2006 Robert N. M. Watson
  * Copyright (c) 2006 Martin Voros
@@ -32,7 +32,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#63 $
+ * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#64 $
  */
 
 #include <sys/types.h>
@@ -407,10 +407,10 @@
  * Prints the token type in either the raw or the default form.
  */
 static void
-print_tok_type(FILE *fp, u_char type, const char *tokname, char raw, int xml)
+print_tok_type(FILE *fp, u_char type, const char *tokname, int oflags)
 {
 
-	if (xml) {
+	if (oflags & AU_OFLAG_XML) {
 		switch(type) {
 		case AUT_HEADER32:
 			fprintf(fp, "<record ");
@@ -576,7 +576,7 @@
 			break;
 		}
 	} else {
-		if (raw)
+		if (oflags & AU_OFLAG_RAW)
 			fprintf(fp, "%u", type);
 		else
 			fprintf(fp, "%s", tokname);
@@ -587,11 +587,11 @@
  * Prints a user value.
  */
 static void
-print_user(FILE *fp, u_int32_t usr, char raw)
+print_user(FILE *fp, u_int32_t usr, int oflags)
 {
 	struct passwd *pwent;
 
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%d", usr);
 	else {
 		pwent = getpwuid(usr);
@@ -606,11 +606,11 @@
  * Prints a group value.
  */
 static void
-print_group(FILE *fp, u_int32_t grp, char raw)
+print_group(FILE *fp, u_int32_t grp, int oflags)
 {
 	struct group *grpent;
 
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%d", grp);
 	else {
 		grpent = getgrgid(grp);
@@ -626,7 +626,7 @@
  * form.
  */
 static void
-print_event(FILE *fp, u_int16_t ev, char raw, char sfrm)
+print_event(FILE *fp, u_int16_t ev, int oflags)
 {
 	char event_ent_name[AU_EVENT_NAME_MAX];
 	char event_ent_desc[AU_EVENT_DESC_MAX];
@@ -644,9 +644,9 @@
 		return;
 	}
 
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", ev);
-	else if (sfrm)
+	else if (oflags & AU_OFLAG_SHORT)
 		fprintf(fp, "%s", e.ae_name);
 	else
 		fprintf(fp, "%s", e.ae_desc);
@@ -658,9 +658,9 @@
  * raw form.
  */
 static void
-print_evmod(FILE *fp, u_int16_t evmod, char raw)
+print_evmod(FILE *fp, u_int16_t evmod, int oflags)
 {
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", evmod);
 	else
 		fprintf(fp, "%u", evmod);
@@ -670,12 +670,12 @@
  * Prints seconds in the ctime format.
  */
 static void
-print_sec32(FILE *fp, u_int32_t sec, char raw)
+print_sec32(FILE *fp, u_int32_t sec, int oflags)
 {
 	time_t timestamp;
 	char timestr[26];
 
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", sec);
 	else {
 		timestamp = (time_t)sec;
@@ -690,12 +690,12 @@
  * assume a 32-bit time_t, we simply truncate for now.
  */
 static void
-print_sec64(FILE *fp, u_int64_t sec, char raw)
+print_sec64(FILE *fp, u_int64_t sec, int oflags)
 {
 	time_t timestamp;
 	char timestr[26];
 
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", (u_int32_t)sec);
 	else {
 		timestamp = (time_t)sec;
@@ -709,9 +709,9 @@
  * Prints the excess milliseconds.
  */
 static void
-print_msec32(FILE *fp, u_int32_t msec, char raw)
+print_msec32(FILE *fp, u_int32_t msec, int oflags)
 {
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", msec);
 	else
 		fprintf(fp, " + %u msec", msec);
@@ -722,11 +722,11 @@
  * a 32-bit msec, we simply truncate for now.
  */
 static void
-print_msec64(FILE *fp, u_int64_t msec, char raw)
+print_msec64(FILE *fp, u_int64_t msec, int oflags)
 {
 
 	msec &= 0xffffffff;
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", (u_int32_t)msec);
 	else
 		fprintf(fp, " + %u msec", (u_int32_t)msec);
@@ -776,11 +776,11 @@
  * Prints return value as success or failure.
  */
 static void
-print_retval(FILE *fp, u_char status, char raw)
+print_retval(FILE *fp, u_char status, int oflags)
 {
 	int error;
 
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", status);
 	else {
 		/*
@@ -813,9 +813,9 @@
  * Prints IPC type.
  */
 static void
-print_ipctype(FILE *fp, u_char type, char raw)
+print_ipctype(FILE *fp, u_char type, int oflags)
 {
-	if (raw)
+	if (oflags & AU_OFLAG_RAW)
 		fprintf(fp, "%u", type);
 	else {
 		if (type == AT_IPC_MSG)
@@ -891,26 +891,25 @@
 }
 
 static void
-print_header32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm,
-    int xml)
+print_header32_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "header", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "header", oflags);
+	if (oflags & AU_OFLAG_RAW) {
 		open_attr(fp, "version");
 		print_1_byte(fp, tok->tt.hdr32.version, "%u");
 		close_attr(fp);
 		open_attr(fp, "event");
-		print_event(fp, tok->tt.hdr32.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr32.e_type, oflags);
 		close_attr(fp);
 		open_attr(fp, "modifier");
-		print_evmod(fp, tok->tt.hdr32.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr32.e_mod, oflags);
 		close_attr(fp);
 		open_attr(fp, "time");
-		print_sec32(fp, tok->tt.hdr32.s, raw);
+		print_sec32(fp, tok->tt.hdr32.s, oflags);
 		close_attr(fp);
 		open_attr(fp, "msec");
-		print_msec32(fp, tok->tt.hdr32.ms, 1);
+		print_msec32(fp, tok->tt.hdr32.ms, oflags);
 		close_attr(fp);
 		close_tag(fp, tok->id);
 	} else {
@@ -919,13 +918,13 @@
 		print_delim(fp, del);
 		print_1_byte(fp, tok->tt.hdr32.version, "%u");
 		print_delim(fp, del);
-		print_event(fp, tok->tt.hdr32.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr32.e_type, oflags);
 		print_delim(fp, del);
-		print_evmod(fp, tok->tt.hdr32.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr32.e_mod, oflags);
 		print_delim(fp, del);
-		print_sec32(fp, tok->tt.hdr32.s, raw);
+		print_sec32(fp, tok->tt.hdr32.s, oflags);
 		print_delim(fp, del);
-		print_msec32(fp, tok->tt.hdr32.ms, raw);
+		print_msec32(fp, tok->tt.hdr32.ms, oflags);
 	}
 }
 
@@ -999,30 +998,29 @@
 }
 
 static void
-print_header32_ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    char sfrm, int xml)
+print_header32_ex_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) 
 {
 
-	print_tok_type(fp, tok->id, "header_ex", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "header_ex", oflags);
+	if (oflags & AU_OFLAG_RAW) {
 		open_attr(fp, "version");
 		print_1_byte(fp, tok->tt.hdr32_ex.version, "%u");
 		close_attr(fp);
 		open_attr(fp, "event");
-		print_event(fp, tok->tt.hdr32_ex.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr32_ex.e_type, oflags);
 		close_attr(fp);
 		open_attr(fp, "modifier");
-		print_evmod(fp, tok->tt.hdr32_ex.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr32_ex.e_mod, oflags);
 		close_attr(fp);
 		open_attr(fp, "host");
 		print_ip_ex_address(fp, tok->tt.hdr32_ex.ad_type,
 		    tok->tt.hdr32_ex.addr);
 		close_attr(fp);
 		open_attr(fp, "time");
-		print_sec32(fp, tok->tt.hdr32_ex.s, raw);
+		print_sec32(fp, tok->tt.hdr32_ex.s, oflags);
 		close_attr(fp);
 		open_attr(fp, "msec");
-		print_msec32(fp, tok->tt.hdr32_ex.ms, raw);
+		print_msec32(fp, tok->tt.hdr32_ex.ms, oflags);
 		close_attr(fp);
 		close_tag(fp, tok->id);
 	} else {
@@ -1031,16 +1029,16 @@
 		print_delim(fp, del);
 		print_1_byte(fp, tok->tt.hdr32_ex.version, "%u");
 		print_delim(fp, del);
-		print_event(fp, tok->tt.hdr32_ex.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr32_ex.e_type, oflags);
 		print_delim(fp, del);
-		print_evmod(fp, tok->tt.hdr32_ex.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr32_ex.e_mod, oflags);
 		print_delim(fp, del);
 		print_ip_ex_address(fp, tok->tt.hdr32_ex.ad_type,
 		    tok->tt.hdr32_ex.addr);
 		print_delim(fp, del);
-		print_sec32(fp, tok->tt.hdr32_ex.s, raw);
+		print_sec32(fp, tok->tt.hdr32_ex.s, oflags);
 		print_delim(fp, del);
-		print_msec32(fp, tok->tt.hdr32_ex.ms, raw);
+		print_msec32(fp, tok->tt.hdr32_ex.ms, oflags);
 	}
 }
 
@@ -1085,26 +1083,25 @@
 }
 
 static void
-print_header64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw, char sfrm,
-    int xml)
+print_header64_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) 
 {
 	
-	print_tok_type(fp, tok->id, "header", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "header", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "version");
 		print_1_byte(fp, tok->tt.hdr64.version, "%u");
 		close_attr(fp);
 		open_attr(fp, "event");
-		print_event(fp, tok->tt.hdr64.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr64.e_type, oflags);
 		close_attr(fp);
 		open_attr(fp, "modifier");
-		print_evmod(fp, tok->tt.hdr64.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr64.e_mod, oflags);
 		close_attr(fp);
 		open_attr(fp, "time");
-		print_sec64(fp, tok->tt.hdr64.s, raw);
+		print_sec64(fp, tok->tt.hdr64.s, oflags);
 		close_attr(fp);
 		open_attr(fp, "msec");
-		print_msec64(fp, tok->tt.hdr64.ms, raw);
+		print_msec64(fp, tok->tt.hdr64.ms, oflags);
 		close_attr(fp);
 		close_tag(fp, tok->id);
 	} else {
@@ -1113,13 +1110,13 @@
 		print_delim(fp, del);
 		print_1_byte(fp, tok->tt.hdr64.version, "%u");
 		print_delim(fp, del);
-		print_event(fp, tok->tt.hdr64.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr64.e_type, oflags);
 		print_delim(fp, del);
-		print_evmod(fp, tok->tt.hdr64.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr64.e_mod, oflags);
 		print_delim(fp, del);
-		print_sec64(fp, tok->tt.hdr64.s, raw);
+		print_sec64(fp, tok->tt.hdr64.s, oflags);
 		print_delim(fp, del);
-		print_msec64(fp, tok->tt.hdr64.ms, raw);
+		print_msec64(fp, tok->tt.hdr64.ms, oflags);
 	}
 }
 
@@ -1189,30 +1186,29 @@
 }
 
 static void
-print_header64_ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    char sfrm, int xml)
+print_header64_ex_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "header_ex", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "header_ex", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "version");
 		print_1_byte(fp, tok->tt.hdr64_ex.version, "%u");
 		close_attr(fp);
 		open_attr(fp, "event");
-		print_event(fp, tok->tt.hdr64_ex.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr64_ex.e_type, oflags);
 		close_attr(fp);
 		open_attr(fp, "modifier");
-		print_evmod(fp, tok->tt.hdr64_ex.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr64_ex.e_mod, oflags);
 		close_attr(fp);
 		open_attr(fp, "host");
 		print_ip_ex_address(fp, tok->tt.hdr64_ex.ad_type,
 		    tok->tt.hdr64_ex.addr);
 		close_attr(fp);
 		open_attr(fp, "time");
-		print_sec64(fp, tok->tt.hdr64_ex.s, raw);
+		print_sec64(fp, tok->tt.hdr64_ex.s, oflags);
 		close_attr(fp);
 		open_attr(fp, "msec");
-		print_msec64(fp, tok->tt.hdr64_ex.ms, raw);
+		print_msec64(fp, tok->tt.hdr64_ex.ms, oflags);
 		close_attr(fp);
 		close_tag(fp, tok->id);
 	} else {
@@ -1221,16 +1217,16 @@
 		print_delim(fp, del);
 		print_1_byte(fp, tok->tt.hdr64_ex.version, "%u");
 		print_delim(fp, del);
-		print_event(fp, tok->tt.hdr64_ex.e_type, raw, sfrm);
+		print_event(fp, tok->tt.hdr64_ex.e_type, oflags);
 		print_delim(fp, del);
-		print_evmod(fp, tok->tt.hdr64_ex.e_mod, raw);
+		print_evmod(fp, tok->tt.hdr64_ex.e_mod, oflags);
 		print_delim(fp, del);
 		print_ip_ex_address(fp, tok->tt.hdr64_ex.ad_type,
 		    tok->tt.hdr64_ex.addr);
 		print_delim(fp, del);
-		print_sec64(fp, tok->tt.hdr64_ex.s, raw);
+		print_sec64(fp, tok->tt.hdr64_ex.s, oflags);
 		print_delim(fp, del);
-		print_msec64(fp, tok->tt.hdr64_ex.ms, raw);
+		print_msec64(fp, tok->tt.hdr64_ex.ms, oflags);
 	}
 }
 
@@ -1255,12 +1251,11 @@
 }
 
 static void
-print_trailer_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_trailer_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) 
 {
 
-	print_tok_type(fp, tok->id, "trailer", raw, xml);
-	if (!xml) {
+	print_tok_type(fp, tok->id, "trailer", oflags);
+	if (!(oflags & AU_OFLAG_XML)) {
 		print_delim(fp, del);
 		print_4_bytes(fp, tok->tt.trail.count, "%u");
 	}
@@ -1298,12 +1293,11 @@
 }
 
 static void
-print_arg32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_arg32_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "argument", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "argument", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "arg-num");
 		print_1_byte(fp, tok->tt.arg32.no, "%u");
 		close_attr(fp);
@@ -1350,12 +1344,11 @@
 }
 
 static void
-print_arg64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_arg64_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "argument", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "argument", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "arg-num");
 		print_1_byte(fp, tok->tt.arg64.no, "%u");
 		close_attr(fp);
@@ -1435,16 +1428,15 @@
 }
 
 static void
-print_arb_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_arb_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 	char *str;
 	char *format;
 	size_t size;
 	int i;
 
-	print_tok_type(fp, tok->id, "arbitrary", raw, xml);
-	if (!xml)
+	print_tok_type(fp, tok->id, "arbitrary", oflags);
+	if (!(oflags & AU_OFLAG_XML))
 		print_delim(fp, del);
 
 	switch(tok->tt.arb.howtopr) {
@@ -1477,7 +1469,7 @@
 		return;
 	}
 
-	if (xml) {
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "print");
 		fprintf(fp, "%s",str);
 		close_attr(fp);
@@ -1490,7 +1482,7 @@
 	/* case AUR_CHAR: */
 		str = "byte";
 		size = AUR_BYTE_SIZE;
-		if (xml) {
+		if (oflags & AU_OFLAG_XML) {
 			open_attr(fp, "type");
 			fprintf(fp, "%zu", size);
 			close_attr(fp);
@@ -1516,7 +1508,7 @@
 	case AUR_SHORT:
 		str = "short";
 		size = AUR_SHORT_SIZE;
-		if (xml) {
+		if (oflags & AU_OFLAG_XML) {
 			open_attr(fp, "type");
 			fprintf(fp, "%zu", size);
 			close_attr(fp);
@@ -1545,7 +1537,7 @@
 	/* case AUR_INT: */
 		str = "int";
 		size = AUR_INT32_SIZE;
-		if (xml) {
+		if (oflags & AU_OFLAG_XML) {
 			open_attr(fp, "type");
 			fprintf(fp, "%zu", size);
 			close_attr(fp);
@@ -1573,7 +1565,7 @@
 	case AUR_INT64:
 		str = "int64";
 		size = AUR_INT64_SIZE;
-		if (xml) {
+		if (oflags & AU_OFLAG_XML) {
 			open_attr(fp, "type");
 			fprintf(fp, "%zu", size);
 			close_attr(fp);
@@ -1644,20 +1636,19 @@
 }
 
 static void
-print_attr32_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_attr32_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "attribute", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "attribute", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "mode");
 		print_4_bytes(fp, tok->tt.attr32.mode, "%o");
 		close_attr(fp);
 		open_attr(fp, "uid");
-		print_user(fp, tok->tt.attr32.uid, raw);
+		print_user(fp, tok->tt.attr32.uid, oflags);
 		close_attr(fp);
 		open_attr(fp, "gid");
-		print_group(fp, tok->tt.attr32.gid, raw);
+		print_group(fp, tok->tt.attr32.gid, oflags);
 		close_attr(fp);
 		open_attr(fp, "fsid");
 		print_4_bytes(fp, tok->tt.attr32.fsid, "%u");
@@ -1673,9 +1664,9 @@
 		print_delim(fp, del);
 		print_4_bytes(fp, tok->tt.attr32.mode, "%o");
 		print_delim(fp, del);
-		print_user(fp, tok->tt.attr32.uid, raw);
+		print_user(fp, tok->tt.attr32.uid, oflags);
 		print_delim(fp, del);
-		print_group(fp, tok->tt.attr32.gid, raw);
+		print_group(fp, tok->tt.attr32.gid, oflags);
 		print_delim(fp, del);
 		print_4_bytes(fp, tok->tt.attr32.fsid, "%u");
 		print_delim(fp, del);
@@ -1726,20 +1717,19 @@
 }
 
 static void
-print_attr64_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_attr64_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "attribute", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "attribute", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "mode");
 		print_4_bytes(fp, tok->tt.attr64.mode, "%o");
 		close_attr(fp);
 		open_attr(fp, "uid");
-		print_user(fp, tok->tt.attr64.uid, raw);
+		print_user(fp, tok->tt.attr64.uid, oflags);
 		close_attr(fp);
 		open_attr(fp, "gid");
-		print_group(fp, tok->tt.attr64.gid, raw);
+		print_group(fp, tok->tt.attr64.gid, oflags);
 		close_attr(fp);
 		open_attr(fp, "fsid");
 		print_4_bytes(fp, tok->tt.attr64.fsid, "%u");
@@ -1755,9 +1745,9 @@
 		print_delim(fp, del);
 		print_4_bytes(fp, tok->tt.attr64.mode, "%o");
 		print_delim(fp, del);
-		print_user(fp, tok->tt.attr64.uid, raw);
+		print_user(fp, tok->tt.attr64.uid, oflags);
 		print_delim(fp, del);
-		print_group(fp, tok->tt.attr64.gid, raw);
+		print_group(fp, tok->tt.attr64.gid, oflags);
 		print_delim(fp, del);
 		print_4_bytes(fp, tok->tt.attr64.fsid, "%u");
 		print_delim(fp, del);
@@ -1788,12 +1778,11 @@
 }
 
 static void
-print_exit_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_exit_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "exit", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "exit", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "errval");
 		print_errval(fp, tok->tt.exit.status);
 		close_attr(fp);
@@ -1846,14 +1835,13 @@
 }
 
 static void
-print_execarg_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_execarg_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) 
 {
 	u_int32_t i;
 
-	print_tok_type(fp, tok->id, "exec arg", raw, xml);
+	print_tok_type(fp, tok->id, "exec arg", oflags);
 	for (i = 0; i < tok->tt.execarg.count; i++) {
-		if (xml) {
+		if (oflags & AU_OFLAG_XML) {
 			fprintf(fp, "<arg>");
 			print_string(fp, tok->tt.execarg.text[i],
 			    strlen(tok->tt.execarg.text[i]));
@@ -1864,7 +1852,7 @@
 			    strlen(tok->tt.execarg.text[i]));
 		}
 	}
-	if (xml)
+	if (oflags & AU_OFLAG_XML)
 		close_tag(fp, tok->id);
 }
 
@@ -1905,14 +1893,13 @@
 }
 
 static void
-print_execenv_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_execenv_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 	u_int32_t i;
 
-	print_tok_type(fp, tok->id, "exec env", raw, xml);
+	print_tok_type(fp, tok->id, "exec env", oflags);
 	for (i = 0; i< tok->tt.execenv.count; i++) {
-		if (xml) {
+		if (oflags & AU_OFLAG_XML) {
 			fprintf(fp, "<env>");
 			print_string(fp, tok->tt.execenv.text[i],
 			    strlen(tok->tt.execenv.text[i]));
@@ -1923,7 +1910,7 @@
 			    strlen(tok->tt.execenv.text[i]));
 		}
 	}
-	if (xml)
+	if (oflags & AU_OFLAG_XML)
 		close_tag(fp, tok->id);
 }
 
@@ -1959,26 +1946,25 @@
 }
 
 static void
-print_file_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_file_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "file", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "file", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "time");
-		print_sec32(fp, tok->tt.file.s, raw);
+		print_sec32(fp, tok->tt.file.s, oflags);
 		close_attr(fp);
 		open_attr(fp, "msec");
-		print_msec32(fp, tok->tt.file.ms, raw);
+		print_msec32(fp, tok->tt.file.ms, oflags);
 		close_attr(fp);
 		fprintf(fp, ">");
 		print_string(fp, tok->tt.file.name, tok->tt.file.len);
 		close_tag(fp, tok->id);
 	} else {
 		print_delim(fp, del);
-		print_sec32(fp, tok->tt.file.s, raw);
+		print_sec32(fp, tok->tt.file.s, oflags);
 		print_delim(fp, del);
-		print_msec32(fp, tok->tt.file.ms, raw);
+		print_msec32(fp, tok->tt.file.ms, oflags);
 		print_delim(fp, del);
 		print_string(fp, tok->tt.file.name, tok->tt.file.len);
 	}
@@ -2009,21 +1995,20 @@
 }
 
 static void
-print_newgroups_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_newgroups_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) 
 {
 	int i;
 
-	print_tok_type(fp, tok->id, "group", raw, xml);
+	print_tok_type(fp, tok->id, "group", oflags);
 	for (i = 0; i < tok->tt.grps.no; i++) {
-		if (xml) {
+		if (oflags & AU_OFLAG_XML) {
 			fprintf(fp, "<gid>");
-			print_group(fp, tok->tt.grps.list[i], raw);
+			print_group(fp, tok->tt.grps.list[i], oflags);
 			fprintf(fp, "</gid>");
 			close_tag(fp, tok->id);
 		} else {
 			print_delim(fp, del);
-			print_group(fp, tok->tt.grps.list[i], raw);
+			print_group(fp, tok->tt.grps.list[i], oflags);
 		}
 	}
 }
@@ -2046,12 +2031,11 @@
 }
 
 static void
-print_inaddr_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_inaddr_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) 
 {
 
-	print_tok_type(fp, tok->id, "ip addr", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "ip addr", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		print_ip_address(fp, tok->tt.inaddr.addr);
 		close_tag(fp, tok->id);
 	} else {
@@ -2090,12 +2074,11 @@
 }
 
 static void
-print_inaddr_ex_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_inaddr_ex_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags) 
 {
 
-	print_tok_type(fp, tok->id, "ip addr ex", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "ip addr ex", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		print_ip_ex_address(fp, tok->tt.inaddr_ex.type,
 		    tok->tt.inaddr_ex.addr);
 		close_tag(fp, tok->id);
@@ -2164,12 +2147,11 @@
 }
 
 static void
-print_ip_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_ip_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "ip", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "ip", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "version");
 		print_mem(fp, (u_char *)(&tok->tt.ip.version),
 		    sizeof(u_char));
@@ -2248,14 +2230,13 @@
 }
 
 static void
-print_ipc_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_ipc_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "IPC", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "IPC", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "ipc-type");
-		print_ipctype(fp, tok->tt.ipc.type, raw);
+		print_ipctype(fp, tok->tt.ipc.type, oflags);
 		close_attr(fp);
 		open_attr(fp, "ipc-id");
 		print_4_bytes(fp, tok->tt.ipc.id, "%u");
@@ -2263,7 +2244,7 @@
 		close_tag(fp, tok->id);
 	} else {
 		print_delim(fp, del);
-		print_ipctype(fp, tok->tt.ipc.type, raw);
+		print_ipctype(fp, tok->tt.ipc.type, oflags);
 		print_delim(fp, del);
 		print_4_bytes(fp, tok->tt.ipc.id, "%u");
 	}
@@ -2315,23 +2296,22 @@
 }
 
 static void
-print_ipcperm_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_ipcperm_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "IPC perm", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "IPC perm", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		open_attr(fp, "uid");
-		print_user(fp, tok->tt.ipcperm.uid, raw);
+		print_user(fp, tok->tt.ipcperm.uid, oflags);
 		close_attr(fp);
 		open_attr(fp, "gid");
-		print_group(fp, tok->tt.ipcperm.gid, raw);
+		print_group(fp, tok->tt.ipcperm.gid, oflags);
 		close_attr(fp);
 		open_attr(fp, "creator-uid");
-		print_user(fp, tok->tt.ipcperm.puid, raw);
+		print_user(fp, tok->tt.ipcperm.puid, oflags);
 		close_attr(fp);
 		open_attr(fp, "creator-gid");
-		print_group(fp, tok->tt.ipcperm.pgid, raw);
+		print_group(fp, tok->tt.ipcperm.pgid, oflags);
 		close_attr(fp);
 		open_attr(fp, "mode");
 		print_4_bytes(fp, tok->tt.ipcperm.mode, "%o");
@@ -2345,13 +2325,13 @@
 		close_tag(fp, tok->id);
 	} else {
 		print_delim(fp, del);
-		print_user(fp, tok->tt.ipcperm.uid, raw);
+		print_user(fp, tok->tt.ipcperm.uid, oflags);
 		print_delim(fp, del);
-		print_group(fp, tok->tt.ipcperm.gid, raw);
+		print_group(fp, tok->tt.ipcperm.gid, oflags);
 		print_delim(fp, del);
-		print_user(fp, tok->tt.ipcperm.puid, raw);
+		print_user(fp, tok->tt.ipcperm.puid, oflags);
 		print_delim(fp, del);
-		print_group(fp, tok->tt.ipcperm.pgid, raw);
+		print_group(fp, tok->tt.ipcperm.pgid, oflags);
 		print_delim(fp, del);
 		print_4_bytes(fp, tok->tt.ipcperm.mode, "%o");
 		print_delim(fp, del);
@@ -2378,12 +2358,11 @@
 }
 
 static void
-print_iport_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_iport_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "ip port", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "ip port", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		print_2_bytes(fp, ntohs(tok->tt.iport.port), "%#x");
 		close_tag(fp, tok->id);
 	} else {
@@ -2414,12 +2393,11 @@
 }
 
 static void
-print_opaque_tok(FILE *fp, tokenstr_t *tok, char *del, char raw,
-    __unused char sfrm, int xml)
+print_opaque_tok(FILE *fp, tokenstr_t *tok, char *del, int oflags)
 {
 
-	print_tok_type(fp, tok->id, "opaque", raw, xml);
-	if (xml) {
+	print_tok_type(fp, tok->id, "opaque", oflags);
+	if (oflags & AU_OFLAG_XML) {
 		print_mem(fp, (u_char*)tok->tt.opaque.data,
 		    tok->tt.opaque.size);

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list