op_interface.h

Go to the documentation of this file.
00001 
00013 #ifndef OP_INTERFACE_H
00014 #define OP_INTERFACE_H
00015 
00016 #include "op_config.h"
00017 #include "op_types.h"
00018 
00021 #define OP_FORK 1
00022 
00023 #define OP_MAP 2
00024 
00025 #define OP_EXEC 4
00026 
00027 #define OP_DROP_MODULES 8
00028 
00029 #define OP_EXIT 16
00030 
00033 struct op_sample {
00034     unsigned long eip; 
00035     u32 counter; 
00036     u32 pid; 
00037     u32 tgid; 
00038 };
00039 
00041 enum oprof_state {
00042     STOPPED = 0,
00043     STOPPING = 1,
00044     RUNNING = 2
00045 };
00046  
00050 struct op_buffer_head {
00051     int cpu_nr; 
00052     size_t count; 
00053     enum oprof_state state; 
00054     struct op_sample buffer[0]; 
00055 } __attribute__((__packed__));
00056      
00063 struct op_note {
00064     unsigned long   addr;
00065     unsigned long   len;
00066     unsigned long   offset;
00067     unsigned int    hash;
00068     unsigned int    pid;
00069     unsigned int    tgid;
00070     unsigned short  type;
00071 };
00072 
00077 struct op_hash_index {
00079     u32 name;
00081     u32 parent;
00082 } __attribute__((__packed__));
00083 
00085 #define OP_HASH_MAP_SIZE (OP_HASH_MAP_NR * sizeof(struct op_hash_index) + POOL_SIZE)
00086 
00087 #endif /* OP_INTERFACE_H */

Generated on 8 Nov 2012 for Oprofile by  doxygen 1.6.1