⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trace.h

📁 linux得一些常用命令,以及linux环境下的c编程
💻 H
📖 第 1 页 / 共 2 页
字号:
#define TRACE_EV_PROCESS_WAIT        4  /* A wait occured */#define TRACE_EV_PROCESS_SIGNAL      5  /* A signal has been sent */#define TRACE_EV_PROCESS_WAKEUP      6  /* Wake up a process */#define TRACE_EV_PROCESS_IDLE_BEGIN  7  /* Enter idle loop */typedef struct _trace_process{  uint8_t   event_sub_id;    /* Process event ID */  uint32_t  event_data1;     /* Data associated with event */  uint32_t  event_data2; } LTT_PACKED_STRUCT trace_process;#define TRACE_PROCESS(ID, DATA1, DATA2) \           do \           {\           trace_process proc_event;\           proc_event.event_sub_id = ID;\           proc_event.event_data1 = DATA1;\           proc_event.event_data2 = DATA2;\           trace_event(TRACE_EV_PROCESS, &proc_event);\           } while(0)/*  TRACE_FILE_SYSTEM */#define TRACE_EV_FILE_SYSTEM_BUF_WAIT_START  1  /* Starting to wait for a data buffer */#define TRACE_EV_FILE_SYSTEM_BUF_WAIT_END    2  /* End to wait for a data buffer */#define TRACE_EV_FILE_SYSTEM_EXEC            3  /* An exec occured */#define TRACE_EV_FILE_SYSTEM_OPEN            4  /* An open occured */#define TRACE_EV_FILE_SYSTEM_CLOSE           5  /* A close occured */#define TRACE_EV_FILE_SYSTEM_READ            6  /* A read occured */#define TRACE_EV_FILE_SYSTEM_WRITE           7  /* A write occured */#define TRACE_EV_FILE_SYSTEM_SEEK            8  /* A seek occured */#define TRACE_EV_FILE_SYSTEM_IOCTL           9  /* An ioctl occured */#define TRACE_EV_FILE_SYSTEM_SELECT         10  /* A select occured */#define TRACE_EV_FILE_SYSTEM_POLL           11  /* A poll occured */typedef struct _trace_file_system{  uint8_t   event_sub_id;    /* File system event ID */  uint32_t  event_data1;     /* Event data */  uint32_t  event_data2;     /* Event data 2 */  char*     file_name;       /* Name of file operated on */} LTT_PACKED_STRUCT trace_file_system;#define TRACE_FILE_SYSTEM(ID, DATA1, DATA2, FILE_NAME) \           do \           {\           trace_file_system fs_event;\           fs_event.event_sub_id = ID;\           fs_event.event_data1  = DATA1;\           fs_event.event_data2  = DATA2;\           fs_event.file_name    = (char*)FILE_NAME;\           trace_event(TRACE_EV_FILE_SYSTEM, &fs_event);\           } while(0)/*  TRACE_TIMER */#define TRACE_EV_TIMER_EXPIRED      1  /* Timer expired */#define TRACE_EV_TIMER_SETITIMER    2  /* Setting itimer occurred */#define TRACE_EV_TIMER_SETTIMEOUT   3  /* Setting sched timeout occurred */typedef struct _trace_timer{  uint8_t   event_sub_id;    /* Timer event ID */  uint8_t   event_sdata;     /* Short data */  uint32_t  event_data1;     /* Data associated with event */  uint32_t  event_data2;     } LTT_PACKED_STRUCT trace_timer;#define TRACE_TIMER(ID, SDATA, DATA1, DATA2) \           do \           {\           trace_timer timer_event;\           timer_event.event_sub_id = ID;\           timer_event.event_sdata  = SDATA;\           timer_event.event_data1  = DATA1;\           timer_event.event_data2  = DATA2;\           trace_event(TRACE_EV_TIMER, &timer_event);\	   } while(0)/*  TRACE_MEMORY */#define TRACE_EV_MEMORY_PAGE_ALLOC        1  /* Allocating pages */#define TRACE_EV_MEMORY_PAGE_FREE         2  /* Freing pages */#define TRACE_EV_MEMORY_SWAP_IN           3  /* Swaping pages in */#define TRACE_EV_MEMORY_SWAP_OUT          4  /* Swaping pages out */#define TRACE_EV_MEMORY_PAGE_WAIT_START   5  /* Start to wait for page */#define TRACE_EV_MEMORY_PAGE_WAIT_END     6  /* End to wait for page */typedef struct _trace_memory{  uint8_t        event_sub_id;    /* Memory event ID */  unsigned long  event_data;      /* Data associated with event */} LTT_PACKED_STRUCT trace_memory;#define TRACE_MEMORY(ID, DATA) \           do \           {\           trace_memory memory_event;\           memory_event.event_sub_id = ID;\           memory_event.event_data   = DATA;\           trace_event(TRACE_EV_MEMORY, &memory_event);\           } while(0)/*  TRACE_SOCKET */#define TRACE_EV_SOCKET_CALL     1  /* A socket call occured */#define TRACE_EV_SOCKET_CREATE   2  /* A socket has been created */#define TRACE_EV_SOCKET_SEND     3  /* Data was sent to a socket */#define TRACE_EV_SOCKET_RECEIVE  4  /* Data was read from a socket */typedef struct _trace_socket{  uint8_t   event_sub_id;    /* Socket event ID */  uint32_t  event_data1;     /* Data associated with event */  uint32_t  event_data2;     /* Data associated with event */} LTT_PACKED_STRUCT trace_socket;#define TRACE_SOCKET(ID, DATA1, DATA2) \           do \           {\           trace_socket socket_event;\           socket_event.event_sub_id = ID;\           socket_event.event_data1  = DATA1;\           socket_event.event_data2  = DATA2;\           trace_event(TRACE_EV_SOCKET, &socket_event);\           } while(0)/*  TRACE_IPC */#define TRACE_EV_IPC_CALL            1  /* A System V IPC call occured */#define TRACE_EV_IPC_MSG_CREATE      2  /* A message queue has been created */#define TRACE_EV_IPC_SEM_CREATE      3  /* A semaphore was created */#define TRACE_EV_IPC_SHM_CREATE      4  /* A shared memory segment has been created */typedef struct _trace_ipc{  uint8_t   event_sub_id;    /* IPC event ID */  uint32_t  event_data1;     /* Data associated with event */  uint32_t  event_data2;     /* Data associated with event */} LTT_PACKED_STRUCT trace_ipc;#define TRACE_IPC(ID, DATA1, DATA2) \           do \           {\           trace_ipc ipc_event;\           ipc_event.event_sub_id = ID;\           ipc_event.event_data1  = DATA1;\           ipc_event.event_data2  = DATA2;\           trace_event(TRACE_EV_IPC, &ipc_event);\           } while(0)/*  TRACE_NETWORK */#define TRACE_EV_NETWORK_PACKET_IN   1  /* A packet came in */#define TRACE_EV_NETWORK_PACKET_OUT  2  /* A packet was sent */typedef struct _trace_network{  uint8_t  event_sub_id;   /* Network event ID */  uint32_t event_data;     /* Event data */} LTT_PACKED_STRUCT trace_network;#define TRACE_NETWORK(ID, DATA) \           do \           {\           trace_network net_event;\           net_event.event_sub_id = ID;\           net_event.event_data   = DATA;\           trace_event(TRACE_EV_NETWORK, &net_event);\           } while(0)/* Custom declared events *//* ***WARNING*** These structures should never be used as is, use the provided custom event creation                 and logging functions. */typedef struct _trace_new_event{  /* Basics */  uint32_t         id;                               /* Custom event ID */  char             type[CUSTOM_EVENT_TYPE_STR_LEN];  /* Event type description */  char             desc[CUSTOM_EVENT_DESC_STR_LEN];  /* Detailed event description */  /* Custom formatting */  uint32_t         format_type;                       /* Type of formatting */  char             form[CUSTOM_EVENT_FORM_STR_LEN];   /* Data specific to format */} LTT_PACKED_STRUCT trace_new_event;typedef struct _trace_custom{  uint32_t          id;         /* Event ID */  uint32_t          data_size;  /* Size of data recorded by event */  void*             data;       /* Data recorded by event */} LTT_PACKED_STRUCT trace_custom;/* TRACE_CHANGE_MASK */typedef uint64_t trace_event_mask;    /* The event mask type */typedef struct _trace_change_mask{  trace_event_mask          mask;       /* Event mask */} LTT_PACKED_STRUCT trace_change_mask;/* TRACE_IRQ_NAME */typedef struct _trace_irq_name{  uint32_t  irq_number;  uint32_t  irq_name_len;  char*     irq_name;} LTT_PACKED_STRUCT trace_irq_name;#define TRACE_IRQ_NAME(IRQ_NUMBER, IRQ_NAME) \           do \           {\           trace_irq_name irq_name_event;\           irq_name_event.irq_number   = IRQ_NUMBER;\           irq_name_event.irq_name_len = strlen(IRQ_NAME) + 1;\           irq_name_event.irq_name     = (char*)IRQ_NAME;\           trace_event(TRACE_EV_IRQ_NAME, &irq_name_event);\           } while(0)/* TRACE_PID_NAME */typedef struct _trace_pid_name{  int       pid;  int       ppid;  uint32_t  pid_name_len;  char*     pid_name;} LTT_PACKED_STRUCT trace_pid_name;#define TRACE_PID_NAME(P) \           do \           {\           trace_pid_name pid_name_event;\           pid_name_event.pid          = P->pid;\           pid_name_event.ppid         = P->p_pptr->pid;\           pid_name_event.pid_name_len = strlen(P->comm) + 1;\           pid_name_event.pid_name     = (char*)P->comm;\           trace_event(TRACE_EV_PID_NAME, &pid_name_event);\           } while(0)#else /* Kernel is configured without tracing */#define TRACE_EVENT(ID, DATA)#define TRACE_TRAP_ENTRY(ID, EIP)#define TRACE_TRAP_EXIT()#define TRACE_IRQ_ENTRY(ID, KERNEL)#define TRACE_IRQ_EXIT()#define TRACE_SCHEDCHANGE(OUT, IN)#define TRACE_SOFT_IRQ(ID, DATA)#define TRACE_PROCESS(ID, DATA1, DATA2)#define TRACE_FILE_SYSTEM(ID, DATA1, DATA2, FILE_NAME)#define TRACE_TIMER(ID, SDATA, DATA1, DATA2)#define TRACE_MEMORY(ID, DATA)#define TRACE_SOCKET(ID, DATA1, DATA2)#define TRACE_IPC(ID, DATA1, DATA2)#define TRACE_NETWORK(ID, DATA)#define TRACE_IRQ_NAME(IRQ_NUMBER, IRQ_NAME)#define TRACE_PID_NAME(P)#endif /* defined(CONFIG_TRACE) || defined(CONFIG_TRACE_MODULE) */#endif /* _LINUX_TRACE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -