ncrx/ncrx-struct.h (29 lines of code) (raw):

/* * Copyright (C) 2016, Facebook, Inc. * All rights reserved. * * This source code is licensed under the license found in the LICENSE file in * the root directory of this source tree. */ #ifndef __NETCONSOLE_NCRX_STRUCT__ #define __NETCONSOLE_NCRX_STRUCT__ struct ncrx_list { struct ncrx_list *next; struct ncrx_list *prev; }; /* * ncrx_msg represents a single log message and what gets returned from * ncrx_next_msg(). Most of the public fields are self-explanatory except * for the followings. * * oos * The message's sequence number doesn't match up with the current * message stream. Could be from a foreign source or corrupt. Ignore * when counting missing messages. * * seq_reset * The sequence number stream has jumped. This usually happens when * the log source reboots. The first message returned after ncrx * initialization always has this flag set. */ struct ncrx_msg { /* public fields */ uint64_t seq; /* printk sequence number */ uint64_t ts_usec; /* printk timestamp in usec */ char *text; /* message body */ char *dict; /* optional dictionary */ int text_len; /* message body length */ int dict_len; /* dictionary length */ uint8_t facility; /* log facility */ uint8_t level; /* printk level */ unsigned cont_start:1; /* first of continued msgs */ unsigned cont:1; /* continuation of prev msg */ unsigned oos:1; /* sequence out-of-order */ unsigned seq_reset:1; /* sequence reset */ /* private fields */ struct ncrx_list node; uint64_t rx_at_mono; /* monotonic rx time in msec */ uint64_t rx_at_real; /* real rx time in msec */ int ncfrag_off; /* netconsole frag offset */ int ncfrag_len; /* netconsole frag len */ int ncfrag_left; /* number of missing bytes */ unsigned emg:1; /* emergency transmission */ char buf[]; }; #endif /* __NETCONSOLE_NCRX_STRUCT__ */