#ifndef __FNIC_TRACE_H__
#define __FNIC_TRACE_H__
#define FNIC_ENTRY_SIZE_BYTES …
#define FC_TRC_SIZE_BYTES …
#define FC_TRC_HEADER_SIZE …
#define FNIC_FC_RECV …
#define FNIC_FC_SEND …
#define FNIC_FC_LE …
extern ssize_t simple_read_from_buffer(void __user *to,
size_t count,
loff_t *ppos,
const void *from,
size_t available);
extern unsigned int fnic_trace_max_pages;
extern int fnic_tracing_enabled;
extern unsigned int trace_max_pages;
extern unsigned int fnic_fc_trace_max_pages;
extern int fnic_fc_tracing_enabled;
extern int fnic_fc_trace_cleared;
fnic_trace_dbg_t;
fnic_dbgfs_t;
struct fnic_trace_data { … } __attribute__((packed));
fnic_trace_data_t;
struct fc_trace_hdr { … } __attribute__((packed));
#define FC_TRACE_ADDRESS(a) …
#define FNIC_TRACE_ENTRY_SIZE …
#define FNIC_TRACE(_fn, _hn, _t, _a, _b, _c, _d, _e) …
fnic_trace_data_t *fnic_trace_get_buf(void);
int fnic_get_trace_data(fnic_dbgfs_t *);
int fnic_trace_buf_init(void);
void fnic_trace_free(void);
int fnic_debugfs_init(void);
void fnic_debugfs_terminate(void);
void fnic_trace_debugfs_init(void);
void fnic_trace_debugfs_terminate(void);
int fnic_fc_trace_init(void);
void fnic_fc_trace_free(void);
int fnic_fc_trace_set_data(u32 host_no, u8 frame_type,
char *frame, u32 fc_frame_len);
int fnic_fc_trace_get_data(fnic_dbgfs_t *fnic_dbgfs_prt, u8 rdata_flag);
void copy_and_format_trace_data(struct fc_trace_hdr *tdata,
fnic_dbgfs_t *fnic_dbgfs_prt,
int *len, u8 rdata_flag);
void fnic_fc_trace_debugfs_init(void);
void fnic_fc_trace_debugfs_terminate(void);
#endif