1 #!/bin/sh
   2 #
   3 # CDDL HEADER START
   4 #
   5 # The contents of this file are subject to the terms of the
   6 # Common Development and Distribution License (the "License").
   7 # You may not use this file except in compliance with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 # Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
  23 #
  24 
  25 # Automagically generate the audit_uevents.h header file.
  26 #
  27 DATABASE=audit_event.txt
  28 HEADER_FILE=audit_uevents.h
  29 CR_YEAR=`/usr/bin/date '+%Y'`
  30 
  31 cat <<EOF > $HEADER_FILE
  32 /*
  33  * CDDL HEADER START
  34  *
  35  * The contents of this file are subject to the terms of the
  36  * Common Development and Distribution License (the "License").
  37  * You may not use this file except in compliance with the License.
  38  *
  39  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  40  * or http://www.opensolaris.org/os/licensing.
  41  * See the License for the specific language governing permissions
  42  * and limitations under the License.
  43  *
  44  * When distributing Covered Code, include this CDDL HEADER in each
  45  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  46  * If applicable, add the following below this CDDL HEADER, with the
  47  * fields enclosed by brackets "[]" replaced with your own identifying
  48  * information: Portions Copyright [yyyy] [name of copyright owner]
  49  *
  50  * CDDL HEADER END
  51  */
  52 /*
  53  * Copyright (c) 1992, $CR_YEAR, Oracle and/or its affiliates. All rights reserved.
  54  */
  55 
  56 #ifndef _BSM_AUDIT_UEVENTS_H
  57 #define _BSM_AUDIT_UEVENTS_H
  58 
  59 EOF
  60 
  61 cat <<EOF >> $HEADER_FILE
  62 
  63 /*
  64  * User level audit event numbers.
  65  *
  66  *     0                Reserved as an invalid event number.
  67  *     1 - 2047         Reserved for the Solaris Kernel events.
  68  *  2048 - 32767        Reserved for the Solaris TCB programs.
  69  * 32768 - 65535        Available for third party TCB applications.
  70  *
  71  */
  72 
  73 #ifdef  __cplusplus
  74 extern "C" {
  75 #endif
  76 
  77 EOF
  78 
  79 nawk -F: '{if ((NF == 4) && substr($1,0,1) != "#")
  80                 if ($1 >= 2048) {
  81                         tlen = length($2);
  82 
  83                         printf("#define\t%s\t", $2)
  84                         if (tlen < 8)
  85                                 printf("\t");
  86                         if (tlen < 16)
  87                                 printf("\t");
  88                         if (tlen < 24)
  89                                 printf("\t");
  90                         printf("%s\n", $1);
  91                 }
  92           }' \
  93 < $DATABASE >> $HEADER_FILE
  94 
  95 cat <<EOF >> $HEADER_FILE
  96 
  97 #ifdef  __cplusplus
  98 }
  99 #endif
 100 
 101 #endif  /* _BSM_AUDIT_UEVENTS_H */
 102 EOF
 103 
 104 exit 0