Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/sys/klog_impl.h
Real path: /usr/include/sys/klog_impl.h
Zurück
/* * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. */ #ifndef _SYS_KLOG_IMPL_H #define _SYS_KLOG_IMPL_H #include <sys/types.h> #include <sys/modctl.h> #include <sys/param.h> #include <sys/list.h> #include <sys/klog.h> #ifdef __cplusplus extern "C" { #endif /* * All klog implementation private data structures and functions are * declared in this file. * * Default locking order: * (klog_instance_mutex, klog_buf::kb_mutex, klog::l_mutex) */ /* * Maximal length in bytes per log entry. * * NOTE: currently KLOG_ELEM_MSG_LEN can't be changed without * breaking the ability of newer Solaris bits to successfully * run ::klog against older core files. */ #define KLOG_ELEM_MSG_LEN 120 /* * klog elements, each element denotes a single log entry. */ typedef struct klog_elem { /* * Fields below are protected by the klog buffer lock. */ timespec_t ke_ts; hrtime_t ke_hrts; klog_t *ke_log; /* * ke_mutex is to protect ke_msg output buffer. */ kmutex_t ke_mutex; char ke_msg[KLOG_ELEM_MSG_LEN]; } klog_elem_t; /* * Kernel log buffer, can be shared by multiple kernel log * instances to minimize the memory footprint. */ struct klog_buf { uint32_t kb_nelem; klog_elem_t *kb_rbuf; kmutex_t kb_mutex; uint32_t kb_idx; /* pointer to the next log entry. */ list_t kb_log_list; }; /* * Kernel logging instance data structure. */ struct klog { char l_name[MAXNAMELEN]; uint64_t l_flags; uint32_t l_iflags; klog_buf_t *l_buf; /* * The length of the index buffer is implictly defined by its * associated klog buffer. */ uint32_t *l_ibuf; kmutex_t l_mutex; uint32_t l_head; /* head of the index ring buffer */ uint32_t l_tail; /* tail of the index ring buffer */ uint32_t l_cnt; /* # of items in the ring buffer */ list_node_t l_lnode; uint32_t l_ref; }; #ifdef __cplusplus } #endif #endif /* _SYS_KLOG_IMPL_H */