Structure containing information about a packet
Synopsis:
#include <slog2_parse.h>
#define SLOG2_PARSE_MAX_NAME_SIZE 64
typedef struct {
    uint32_t                    size;
    uint16_t                    sequence_number;
    uint16_t                    data_size;
    uint64_t                    timestamp;
    slog2_packet_data_type_t    data_type;
    uint16_t                    thread_id;
    uint16_t                    code;
    uint8_t                     severity;
    char                        file_name[ 2 * SLOG2_PARSE_MAX_NAME_SIZE ];
    char                        buffer_name[ SLOG2_PARSE_MAX_NAME_SIZE ];
    uint32_t                    owner_pid;
    uint32_t                    flags;
    uint32_t                    register_flags;
} slog2_packet_info_t;
 
Library:
libslog2parse
Use the -l slog2parse option to
qcc
to link against this library.
 
Description:
The slog2_packet_info_t structure is used for information about a packet.
Note: 
Use the 
SLOG2_PACKET_INFO_INIT macro to initialize this structure before passing it
to a parsing function.
For example:
slog2_packet_info_t packet_info = SLOG2_PACKET_INFO_INIT;
 
The members include:
    
- size
 
- The size of the structure, which is used to determine the version of the software.
 
- sequence_number
 
- The sequence number for the packet; slogger2 uses a process-local, monotonically increasing 
  sequence number.
 
- data_size
 
- The size of the object being returned, in bytes.
 
- timestamp
 
- The timestamp for the packet.
 
- data_type
 
- The data type of the payload; one of the following:
  
  - SLOG2_TYPE_ASCII_STRING
    
  
 
  - SLOG2_TYPE_BINARY — not currently implemented.
    
  
 
  - SLOG2_TYPE_UNSYNC — the buffer was overwritten faster than it could be consumed;
    the logging rate is too high for the size of the buffer.
    
  
 
  - SLOG2_TYPE_ONLINE — the buffer is new and just came online.
    
  
 
  
 
- thread_id
 
- The thread ID of the logging thread.
 
- code
 
- A user-specified code that's associated with the message.
  The meaning of this depends on the program that logged the message.
 
- severity
 
- The severity level of the packet; one of the following (defined in <sys/slog2.h>):
  
  - SLOG2_SHUTDOWN
 
  - SLOG2_CRITICAL
 
  - SLOG2_ERROR
 
  - SLOG2_WARNING
 
  - SLOG2_NOTICE
 
  - SLOG2_INFO
 
  - SLOG2_DEBUG1
 
  - SLOG2_DEBUG2
 
  
  
  For more information, see the entry for
  slog2_register().
  
 
- file_name
 
- The name of the file that this packet belongs to.
  Don't modify the string that this member points to.
 
- buffer_name
 
- The name of the buffer that this packet belongs to.
  Don't modify the string that this member points to.
 
- owner_pid
 
- The process ID of the creator of the log.
 
- flags
 
- Flags related to this packet:
  
  - SLOG2_PACKET_FLAGS_FIRSTPACKET — this is the first packet in the buffer.
    
  
 
  
 
- register_flags
 
- The flags that were passed to
  slog2_register();
  a bitwise OR of zero or more of the following bits:
  
  - SLOG2_ALLOC_TYPE_SHMEM — use an OS-managed shared memory object for the buffer set.
    
  
 
  
  - SLOG2_DISCARD_NEWLINE —  discard newline (\n) characters.
    
    
Note: 
    The newline characters are stripped on the post-processing side (i.e., by
    
slog2_dump_logs_to_file()
    and
    
slog2info).
    Newline characters in a string are replaced by a space; consecutive newline characters are replaced
    by a single space.
    
 
   
  
  - SLOG2_TRY_REUSE_BUFFER_SET — before registering a new buffer set, try to find and reuse
    an existing buffer set in this process having an identical buffer set configuration.
    
  
 
  
 
 
Classification:
QNX Neutrino
| Safety: | 
  | 
| Cancellation point | 
No | 
| Interrupt handler | 
No | 
| Signal handler | 
No | 
| Thread | 
Yes |