diff options
Diffstat (limited to 'usr/src/lib/libkmsagent/common/debug.h')
| -rw-r--r-- | usr/src/lib/libkmsagent/common/debug.h | 161 | 
1 files changed, 161 insertions, 0 deletions
| diff --git a/usr/src/lib/libkmsagent/common/debug.h b/usr/src/lib/libkmsagent/common/debug.h new file mode 100644 index 0000000000..c611bceff8 --- /dev/null +++ b/usr/src/lib/libkmsagent/common/debug.h @@ -0,0 +1,161 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + */ + + +#ifndef DEBUG_H +#define DEBUG_H + +/************************** START OF MODULE PROLOGUE *************************** +* +* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +* +*------------------------------------------------------------------------------- +* +*  FUNCTION NAME:  di_debug +* +*  FUNCTION TITLE:  Display debug information +* +*  TASK/PROCESS NAME: Encryption +* +*  MODULE DESCRIPTION: Define globals and prototypes for displaying debug  +*                      information. +* +* HISTORY: +* ------- +* 05/13/10  JHD  xxxxxxx  Added Prologue and prototype for log_cond_printf(). +*                 +***************************** END OF MODULE PROLOGUE **************************/ + +#ifdef DEBUG +#warn "DEBUG is on" +#endif + +#ifdef DEBUG +#define START_STACK_CHECK                       \ +   volatile unsigned long check1 = 0xDEADBABE;  \ +   volatile unsigned long check2 = 0xFEEDF00D;  +    +#define END_STACK_CHECK                                                  \ +{                                                                        \ +   if (check1 != 0xDEADBABE)                                             \ +      log_printf("stack check 1 failed at %s %c\n", __FILE__, __LINE__); \ +   if (check2 != 0xFEEDF00D)                                             \ +      log_printf("stack check 2 failed at %s %c\n", __FILE__, __LINE__); \ +} +#else +#define START_STACK_CHECK +#define END_STACK_CHECK +#endif + + +#ifdef __cplusplus +extern "C" +{ +#endif +    +#define OUTMSG_SIZE 256 + + +/*------------------------------------------------------------------- + * Use the following to define whether memory is actually + * going to be allocated for these definitions. + *------------------------------------------------------------------*/ +#undef EXTERNAL + +#ifdef ALLOCATE_ECPT_TRACE             /* This set means we are allocating   */ +   #define EXTERNAL +#else +   #define EXTERNAL extern +#endif + +#define ECPT_MAX_TRACE           2048 +#define ECPT_TRACE_CHAR          111 + +typedef struct +{ +   int         task;                         /* which thread         */ +   int         tod;                          /* Time of Day Stamp    */ +   int         function;                     /* Function name        */ +   int         len;                          /* num chars in buffer  */ +   char        buf[ ECPT_TRACE_CHAR + 1 ];   /* trace message buffer */ + +}  ECPT_TRACE_ENTRY; + + +typedef struct +{ +   int                  index;                     /* Index to next entry */ + +   int                  tx_wait; +   int                  tx_ds_main; +   int                  tx_rsv1;                   /* unused */ +   int                  tx_rsv2;                   /* unused */ +   int                  tx_rsv3;                   /* unused */ +   int                  tx_rsv4;                   /* unused */ +   int                  tx_rsv5;                   /* unused */ + +   ECPT_TRACE_ENTRY     entry[ ECPT_MAX_TRACE ];   /* Telnet trace entries */ + +} ECPT_TRACE_STRUCT; + + +EXTERNAL ECPT_TRACE_STRUCT   Ecpt_trace_table; + +/*-------------------------------------------------------------------------- + * Define ECPT KMS Agent communications to include in log to telnet clients. + *-------------------------------------------------------------------------*/ +EXTERNAL int                 Ecpt_log_to_telnet; + +#define ECPT_LOG_SSL_CB          0x0001 +#define ECPT_LOG_TCP_CONNECT     0x0002 +#define ECPT_LOG_TCP_DISCONNECT  0x0004 +#define ECPT_LOG_TCP_SHUTDOWN    0x0008 +#define ECPT_LOG_TCP_SEND        0x0010 +#define ECPT_LOG_TCP_FRECV       0x0020 +#define ECPT_LOG_TCP_CLOSE       0x0040 +#define ECPT_LOG_SSL_CLIENT      0x0080 +#define ECPT_LOG_AGENT           0x0100 + + +extern char outmsg[OUTMSG_SIZE]; + +void serial_debug_msg(char*, int); +int  log_fprintf(FILE *, const char *, ...); +int  log_sprintf(char*, const char *, ...); +int  log_printf(const char *, ...); +int  log_error_printf(const char *, ...); +void log_cond_printf(int, const char *, ...); + +ECPT_TRACE_ENTRY    *ecpt_trace( int     function, +                                 char   *func ); + +#define ECPT_TRACE( trace, func )  trace = ecpt_trace( (int)func, #func ); +    +#ifdef __cplusplus +} +#endif + +    +#endif | 
