Print this page
NEX-13644 File access audit logging
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>


   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.


  24  */
  25 
  26 /*
  27  * File name: praudit.h
  28  * praudit.c defines, globals
  29  */
  30 
  31 #ifndef _PRAUDIT_H
  32 #define _PRAUDIT_H
  33 
  34 #pragma ident   "%Z%%M% %I%     %E% SMI"
  35 
  36 #ifdef __cplusplus
  37 extern "C" {
  38 #endif
  39 
  40 /* DEFINES */
  41 
  42 /*
  43  * output value types
  44  */
  45 #define PRA_INT32 0
  46 #define PRA_UINT32 1
  47 #define PRA_INT64 2
  48 #define PRA_UINT64 3
  49 #define PRA_SHORT 4
  50 #define PRA_USHORT 5
  51 #define PRA_CHAR 6
  52 #define PRA_UCHAR 7
  53 #define PRA_STRING 8
  54 #define PRA_HEX32 9
  55 #define PRA_HEX64 10


 192 extern int      pa_reclen(pr_context_t *context, int status);
 193 extern int      pa_file_string(pr_context_t *context, int status, int flag);
 194 extern int      pa_adr_int32(pr_context_t *context, int status, int flag);
 195 extern int      pa_adr_int64(pr_context_t *context, int status, int flag);
 196 extern int      pa_utime32(pr_context_t *context, int status, int flag);
 197 extern int      pa_ntime32(pr_context_t *context, int status, int flag);
 198 extern int      pa_utime64(pr_context_t *context, int status, int flag);
 199 extern int      pa_ntime64(pr_context_t *context, int status, int flag);
 200 extern int      pa_adr_string(pr_context_t *context, int status, int flag);
 201 extern int      pa_adr_u_int32(pr_context_t *context, int status, int flag);
 202 extern int      pa_adr_u_int64(pr_context_t *context, int status, int flag);
 203 extern int      pa_adr_byte(pr_context_t *context, int status, int flag);
 204 extern int      pa_event_type(pr_context_t *context, int status, int flag);
 205 extern int      pa_event_modifier(pr_context_t *context, int status, int flag);
 206 extern int      pa_adr_int32hex(pr_context_t *context, int status, int flag);
 207 extern int      pa_adr_int64hex(pr_context_t *context, int status, int flag);
 208 extern int      pa_pw_uid(pr_context_t *context, int status, int flag);
 209 extern int      pa_gr_uid(pr_context_t *context, int status, int flag);
 210 extern int      pa_pw_uid_gr_gid(pr_context_t *context, int status, int flag);
 211 extern int      pa_ace(pr_context_t *context, int status, int flag);

 212 extern int      pa_hostname(pr_context_t *context, int status, int flag);
 213 extern int      pa_hostname_ex(pr_context_t *context, int status, int flag);
 214 extern int      pa_hostname_so(pr_context_t *context, int status, int flag);

 215 extern int      pa_adr_u_short(pr_context_t *context, int status, int flag);
 216 extern int      pa_tid32(pr_context_t *context, int status, int flag);
 217 extern int      pa_tid64(pr_context_t *context, int status, int flag);
 218 extern int      pa_tid32_ex(pr_context_t *context, int status, int flag);
 219 extern int      pa_tid64_ex(pr_context_t *context, int status, int flag);
 220 extern int      pa_adr_charhex(pr_context_t *context, int status, int flag);
 221 extern int      pa_adr_short(pr_context_t *context, int status, int flag);
 222 extern int      pa_adr_shorthex(pr_context_t *context, int status, int flag);
 223 extern int      pa_mode(pr_context_t *context, int status, int flag);
 224 extern int      pa_cmd(pr_context_t *context, int status, int flag);
 225 extern int      pa_string(pr_context_t *context, int status, int flag);
 226 extern int      pa_liaison(pr_context_t *context, int status, int flag);
 227 extern int      pa_xgeneric(pr_context_t *context);
 228 extern int      pa_xid(pr_context_t *context, int status, int flag);
 229 extern void     pa_error(const uchar_t err, char *buf, size_t buflen);
 230 extern void     pa_retval(const uchar_t, const int32_t, char *, size_t);
 231 extern int      pa_ip_addr(pr_context_t *context, int status, int flag);
 232 extern int      pr_adr_char(pr_context_t *context, char *cp, int count);
 233 extern int      pr_adr_short(pr_context_t *context, short *sp, int count);
 234 extern int      pr_adr_int32(pr_context_t *context, int32_t *lp, int count);




   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  23  * Use is subject to license terms.
  24  *
  25  * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  26  */
  27 
  28 /*
  29  * File name: praudit.h
  30  * praudit.c defines, globals
  31  */
  32 
  33 #ifndef _PRAUDIT_H
  34 #define _PRAUDIT_H
  35 


  36 #ifdef __cplusplus
  37 extern "C" {
  38 #endif
  39 
  40 /* DEFINES */
  41 
  42 /*
  43  * output value types
  44  */
  45 #define PRA_INT32 0
  46 #define PRA_UINT32 1
  47 #define PRA_INT64 2
  48 #define PRA_UINT64 3
  49 #define PRA_SHORT 4
  50 #define PRA_USHORT 5
  51 #define PRA_CHAR 6
  52 #define PRA_UCHAR 7
  53 #define PRA_STRING 8
  54 #define PRA_HEX32 9
  55 #define PRA_HEX64 10


 192 extern int      pa_reclen(pr_context_t *context, int status);
 193 extern int      pa_file_string(pr_context_t *context, int status, int flag);
 194 extern int      pa_adr_int32(pr_context_t *context, int status, int flag);
 195 extern int      pa_adr_int64(pr_context_t *context, int status, int flag);
 196 extern int      pa_utime32(pr_context_t *context, int status, int flag);
 197 extern int      pa_ntime32(pr_context_t *context, int status, int flag);
 198 extern int      pa_utime64(pr_context_t *context, int status, int flag);
 199 extern int      pa_ntime64(pr_context_t *context, int status, int flag);
 200 extern int      pa_adr_string(pr_context_t *context, int status, int flag);
 201 extern int      pa_adr_u_int32(pr_context_t *context, int status, int flag);
 202 extern int      pa_adr_u_int64(pr_context_t *context, int status, int flag);
 203 extern int      pa_adr_byte(pr_context_t *context, int status, int flag);
 204 extern int      pa_event_type(pr_context_t *context, int status, int flag);
 205 extern int      pa_event_modifier(pr_context_t *context, int status, int flag);
 206 extern int      pa_adr_int32hex(pr_context_t *context, int status, int flag);
 207 extern int      pa_adr_int64hex(pr_context_t *context, int status, int flag);
 208 extern int      pa_pw_uid(pr_context_t *context, int status, int flag);
 209 extern int      pa_gr_uid(pr_context_t *context, int status, int flag);
 210 extern int      pa_pw_uid_gr_gid(pr_context_t *context, int status, int flag);
 211 extern int      pa_ace(pr_context_t *context, int status, int flag);
 212 extern int      pa_access_mask(pr_context_t *context, int status, int flag);
 213 extern int      pa_hostname(pr_context_t *context, int status, int flag);
 214 extern int      pa_hostname_ex(pr_context_t *context, int status, int flag);
 215 extern int      pa_hostname_so(pr_context_t *context, int status, int flag);
 216 extern int      pa_wsid(pr_context_t *context, int status, int flag);
 217 extern int      pa_adr_u_short(pr_context_t *context, int status, int flag);
 218 extern int      pa_tid32(pr_context_t *context, int status, int flag);
 219 extern int      pa_tid64(pr_context_t *context, int status, int flag);
 220 extern int      pa_tid32_ex(pr_context_t *context, int status, int flag);
 221 extern int      pa_tid64_ex(pr_context_t *context, int status, int flag);
 222 extern int      pa_adr_charhex(pr_context_t *context, int status, int flag);
 223 extern int      pa_adr_short(pr_context_t *context, int status, int flag);
 224 extern int      pa_adr_shorthex(pr_context_t *context, int status, int flag);
 225 extern int      pa_mode(pr_context_t *context, int status, int flag);
 226 extern int      pa_cmd(pr_context_t *context, int status, int flag);
 227 extern int      pa_string(pr_context_t *context, int status, int flag);
 228 extern int      pa_liaison(pr_context_t *context, int status, int flag);
 229 extern int      pa_xgeneric(pr_context_t *context);
 230 extern int      pa_xid(pr_context_t *context, int status, int flag);
 231 extern void     pa_error(const uchar_t err, char *buf, size_t buflen);
 232 extern void     pa_retval(const uchar_t, const int32_t, char *, size_t);
 233 extern int      pa_ip_addr(pr_context_t *context, int status, int flag);
 234 extern int      pr_adr_char(pr_context_t *context, char *cp, int count);
 235 extern int      pr_adr_short(pr_context_t *context, short *sp, int count);
 236 extern int      pr_adr_int32(pr_context_t *context, int32_t *lp, int count);