auditxml_jni revision cd3e933325e68e23516a196a8fea7f49b1e497c3
03831d35f7499c87d51205817c93e9a8d42c4baestevel# CDDL HEADER START
03831d35f7499c87d51205817c93e9a8d42c4baestevel# The contents of this file are subject to the terms of the
03831d35f7499c87d51205817c93e9a8d42c4baestevel# Common Development and Distribution License (the "License").
03831d35f7499c87d51205817c93e9a8d42c4baestevel# You may not use this file except in compliance with the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
03831d35f7499c87d51205817c93e9a8d42c4baestevel# See the License for the specific language governing permissions
03831d35f7499c87d51205817c93e9a8d42c4baestevel# and limitations under the License.
03831d35f7499c87d51205817c93e9a8d42c4baestevel# When distributing Covered Code, include this CDDL HEADER in each
03831d35f7499c87d51205817c93e9a8d42c4baestevel# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
03831d35f7499c87d51205817c93e9a8d42c4baestevel# If applicable, add the following below this CDDL HEADER, with the
03831d35f7499c87d51205817c93e9a8d42c4baestevel# fields enclosed by brackets "[]" replaced with your own identifying
03831d35f7499c87d51205817c93e9a8d42c4baestevel# information: Portions Copyright [yyyy] [name of copyright owner]
03831d35f7499c87d51205817c93e9a8d42c4baestevel# CDDL HEADER END
03831d35f7499c87d51205817c93e9a8d42c4baestevel# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Lowe# auditxml_jni [-d] <xml input file>
03831d35f7499c87d51205817c93e9a8d42c4baestevel# auditxml takes the audit record description (.xml file) and
03831d35f7499c87d51205817c93e9a8d42c4baestevel# generates the files needed for the Java
03831d35f7499c87d51205817c93e9a8d42c4baestevelour $debug = 0; # normal use is to set via the file being parsed.
03831d35f7499c87d51205817c93e9a8d42c4baestevel # <debug set="on"/> or <debug set="off"/> or <debug/>
03831d35f7499c87d51205817c93e9a8d42c4baestevel # if the set attribute is omitted, debug state is toggled
03831d35f7499c87d51205817c93e9a8d42c4baestevel # Override with appDebug, but toggle won't do what you
03831d35f7499c87d51205817c93e9a8d42c4baestevelmy $appDebug = 0; # used after return from "new auditxml";
03831d35f7499c87d51205817c93e9a8d42c4baestevelDO NOT EDIT. This file is auto generated by the Solaris Audit
03831d35f7499c87d51205817c93e9a8d42c4baestevel# trim leading/trailing newlines
03831d35f7499c87d51205817c93e9a8d42c4baestevel# where everything comes from and where it goes:
my $jniFile = shift;
my $javaFile = shift;
my $subclassPath = shift;
my $mapFile = shift;
my $notice = $genNotice;
my $notice_map = $genNotice;
$notice_map =~ s/\s+\n/\n/gs;
my $shortName = uc $listName;
$shortName =~ s/_TEXT//;
my $listValue;
$enumValue++;
$putMethod =~ s/_/_1/g;
my $validSfile = 1;
$validSfile = 0;
my $needCleanupTarget = 0;
my $haveStringDef = 0;
my $haveCDef = 0;
my $haveLengthDef = 0;
my $haveStringArrayDef = 0;
my $cntTermidDef = 0;
my $jniDefine;
my $needLocaleDefined = 0;
my $jniADTalloc;
my $ref2;
my $p_event;
$needLocaleDefined = 1;
$haveLengthDef = 1;
$needCleanupTarget = 1;
$needLocaleDefined = 1;
$jniFreeList .=
$haveLengthDef = 1;
$needCleanupTarget = 1;
$needLocaleDefined = 1;
$haveLengthDef = 1;
$needCleanupTarget = 1;
$haveCDef = 1;
$needLocaleDefined = 1;
$haveStringDef = 1;
$needCleanupTarget = 1;
$needLocaleDefined = 1;
$jniFreeList .=
$haveStringDef = 1;
$haveLengthDef = 1;
$haveStringArrayDef = 1;
$needCleanupTarget = 1;
$needLocaleDefined = 1;
$needCleanupTarget = 1;
$jniDefine .= <<EOF
my $idParameter = $eventId;
$idParameter =~ s/AUE_/ADT_/;
my @allowed = @$allowedIds;
my $idNo = $externalIdNo{$allowed[$i]};
my $jniMethodName = $root . $id;
my $storage;
if $jComment;
my $event = shift;
my $eventId = shift;
my $eventType = shift;
my $eventHeader = shift;
my $omit = shift;
my $entryRef;
my @inputOrder;
$firstTokenIndex = $j;
last;
my $sequence = 0;
$enumGroup =~ s/^msg\s*//i;
my $tsol = 0;
my $token;
my $tokenName;
print STDERR
$sequence++;
$jniEventTable{$eventId} = [\@jniEntryList, $eventType,
my $xlateLabelInc = 0;
my $dataType;
my $dataSize;
my $entryType = ${$entryDef{$type}}[0];
my $typeCount = 1;
$type =~ s/\[\]//;
my $dataType;
my $entryType = ${$entryDef{$dtype}}[0];
$type =~ s/\[\]//;
my $textList = shift;
my $entry;
my @entry;
[\@entry, [$header, $start, $public, $deprecated]];
my $eventListFile = shift;
next if $value < 6000;
$eventCode{$name} = $value;