summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
Diffstat (limited to 'inc')
-rw-r--r--inc/MESA_shm_ring_queue.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/inc/MESA_shm_ring_queue.h b/inc/MESA_shm_ring_queue.h
index 7d82d8d..7b7c3df 100644
--- a/inc/MESA_shm_ring_queue.h
+++ b/inc/MESA_shm_ring_queue.h
@@ -15,15 +15,19 @@
#define MESA_CONSUMER_RUNNING 1
#define MESA_CONSUMER_NOT_RUNNING 0
-#define MESA_CONSUMER_CARE_PID_NUM 128
+#define MESA_SHM_PID_NUM 128
#define MESA_MATCH_CONSUMER_RULE_SUCCESS 0
#define MESA_MATCH_CONSUMER_RULE_FAIL -1
#define MESA_MATCH_CONSUMER_RULE_FAIL_STATUS -2
#define MESA_MATCH_CONSUMER_RULE_FAIL_LEVEL -3
#define MESA_MATCH_CONSUMER_RULE_FAIL_PID -4
+#define MESA_MATCH_CONSUMER_RULE_FAIL_MODULE -5
+#define MESA_SHM_MODULE_NUM 32
+#define MESA_SHM_MODULE_NAME_LEN 128
+
#define MESA_CONSUMER_LEVEL_ALL 0
#define MESA_CONSUMER_LEVEL_DEBUG (1 << 0)
@@ -49,14 +53,15 @@ struct MESA_shm_queue_head{
int ovw_idx;
};
-struct MESA_consumer{
+struct MESA_shm_consumer{
int status;
int log_level;
unsigned long long reload_age;
- int care_pid[MESA_CONSUMER_CARE_PID_NUM];
+ int pid[MESA_SHM_PID_NUM];
+ char module[MESA_SHM_MODULE_NUM][sizeof(int) + MESA_SHM_MODULE_NAME_LEN];
};
-struct MESA_log_buf{
+struct MESA_shm_log_buf{
char *buf;
char *log_file;
char *module;
@@ -66,18 +71,18 @@ struct MESA_log_buf{
int level;
};
-int MESA_shm_alloc_overview(struct MESA_shm_overview **ovw, int *ovw_id, struct MESA_consumer **consumer_status);
+int MESA_shm_alloc_overview(struct MESA_shm_overview **ovw, int *ovw_id, struct MESA_shm_consumer **consumer_status);
struct MESA_shm_queue_head *MESA_shm_get_ring_queue();
void MESA_shm_init();
void MESA_shm_recycle_ring_queue(struct MESA_shm_queue_head *ring_queue_head);
-int MESA_shm_copy_buf_to_ring_queue(struct MESA_shm_queue_head *head, struct MESA_log_buf *lbuf);
+int MESA_shm_copy_buf_to_ring_queue(struct MESA_shm_queue_head *head, struct MESA_shm_log_buf *lbuf);
int MESA_shm_ring_queue_is_empty(struct MESA_shm_queue_head *head);
int MESA_shm_ring_queue_is_full(struct MESA_shm_queue_head *head);
void *MESA_shm_ring_queue_get_read_pos(struct MESA_shm_queue_head *head);
void *MESA_shm_ring_queue_get_write_pos(struct MESA_shm_queue_head *head);
void MESA_shm_ring_queue_push_read_pos(struct MESA_shm_queue_head *head);
void MESA_shm_ring_queue_push_write_pos(struct MESA_shm_queue_head *head);
-int MESA_shm_match_consumer_rule(int level, int pid);
+int MESA_shm_match_consumer_rule(int level, int pid, const char *module);
void MESA_shm_unlink(struct MESA_shm_overview *ovw, int ovw_shmid);
const char *loglevel_to_name(int level);