Print this page
    
OS-11 rcapd behaves poorly when under extreme load
    
      
        | Split | 
	Close | 
      
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/cmd/rcap/common/utils.h
          +++ new/usr/src/cmd/rcap/common/utils.h
   1    1  /*
   2    2   * CDDL HEADER START
   3    3   *
   4    4   * The contents of this file are subject to the terms of the
   5    5   * Common Development and Distribution License (the "License").
   6    6   * You may not use this file except in compliance with the License.
   7    7   *
   8    8   * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9   * or http://www.opensolaris.org/os/licensing.
  10   10   * See the License for the specific language governing permissions
  11   11   * and limitations under the License.
  12   12   *
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  
    | 
      ↓ open down ↓ | 
    13 lines elided | 
    
      ↑ open up ↑ | 
  
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
       24 + * Copyright (c) 2011, Joyent, Inc. All rights reserved.
  24   25   */
  25   26  
  26   27  #ifndef _UTILS_H
  27   28  #define _UTILS_H
  28   29  
  29   30  #include <assert.h>
  30   31  #include <libintl.h>
  31   32  #include <stdarg.h>
  32   33  #include <time.h>
  33   34  #include <libzonecfg.h>
  34   35  
  35   36  #ifdef  __cplusplus
  36   37  extern "C" {
  37   38  #endif
  38   39  
  39   40  #define E_SUCCESS       0               /* Exit status for success */
  40   41  #define E_ERROR         1               /* Exit status for error */
  41   42  #define E_USAGE         2               /* Exit status for usage error */
  42   43  
  43   44  /*
  44   45   * Message filter levels by priority
  45   46   */
  46   47  typedef enum rcm_level {
  47   48          RCM_NONE = 0,                   /* No messages */
  48   49          RCM_ERR,                        /* Errors only */
  49   50          RCM_WARN,                       /* Warnings */
  50   51          RCM_INFO,                       /* Information */
  51   52          RCM_DEBUG,                      /* Everything */
  52   53          RCM_DEBUG_HIGH                  /* Fire hose */
  53   54  } rcm_level_t;
  54   55  
  55   56  /*
  56   57   * Message destinations
  57   58   */
  58   59  typedef enum rcm_dst {
  59   60          RCD_STD = 1,                    /* Standard output/error, depending */
  60   61                                          /* on level */
  61   62          RCD_SYSLOG                      /* syslog() daemon facility */
  62   63  } rcm_dst_t;
  63   64  
  64   65  typedef struct zone_entry {
  65   66          zoneid_t        zid;
  66   67          char            zname[ZONENAME_MAX];
  67   68  } zone_entry_t;
  68   69  
  69   70  #define LINELEN         256             /* max. message length */
  70   71  
  71   72  #ifdef DEBUG
  72   73  #undef ASSERT
  73   74  #define ASSERT(x)       (assert(x))
  74   75  #else /* !DEBUG */
  75   76  #undef ASSERT
  76   77  #define ASSERT(x)       ((void)0)
  77   78  #endif /* DEBUG */
  78   79  
  79   80  #ifdef DEBUG_MSG
  80   81  extern void debug(char *, ...);
  81   82  extern void debug_high(char *, ...);
  82   83  #else /* !DEBUG_MSG */
  83   84  /*LINTED: static unused*/
  84   85  static void debug(char *format, ...) /*ARGSUSED*/ {}
  85   86  /*LINTED: static unused*/
  86   87  static void debug_high(char *format, ...) /*ARGSUSED*/ {}
  87   88  #endif /* DEBUG_MSG */
  88   89  
  89   90  extern void die(char *, ...);
  90   91  extern void info(char *, ...);
  
    | 
      ↓ open down ↓ | 
    57 lines elided | 
    
      ↑ open up ↑ | 
  
  91   92  extern rcm_level_t get_message_priority(void);
  92   93  extern rcm_level_t set_message_priority(rcm_level_t);
  93   94  extern rcm_dst_t set_message_destination(rcm_dst_t);
  94   95  extern char *setpname(char *);
  95   96  extern void warn(const char *, ...);
  96   97  extern int valid_abspath(char *);
  97   98  extern void vdprintfe(int, const char *, va_list);
  98   99  extern void dprintfe(int, char *, ...);
  99  100  extern void hrt2ts(hrtime_t, timestruc_t *);
 100  101  extern int xatoi(char *);
 101      -extern int get_running_zones(uint_t *, zone_entry_t **);
 102  102  
 103  103  #ifdef  __cplusplus
 104  104  }
 105  105  #endif
 106  106  
 107  107  #endif  /* _UTILS_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX