rewrite the device subsystem interfaces (#48)
[lunaix-os.git] / lunaix-os / kernel / kprint / kp_records.h
1 #ifndef __LUNAIX_KP_RECORDS_H
2 #define __LUNAIX_KP_RECORDS_H
3
4 #include <lunaix/ds/llist.h>
5 #include <lunaix/time.h>
6
7 struct kp_entry
8 {
9     struct llist_header ents;
10     int lvl;
11     time_t time;
12     char* content;
13     size_t len;
14 };
15 #define KP_ENT_SIZE sizeof(struct kp_entry)
16
17 struct kp_records
18 {
19     struct kp_entry kp_ents;
20
21     struct llist_header* kp_ent_wp;
22
23     int max_recs;
24     int cur_recs;
25     int log_lvl;
26 };
27 #define KP_RECS_SIZE sizeof(struct kp_records)
28
29 struct kp_records*
30 kprec_create(int max_recs);
31
32 struct kp_entry*
33 kprec_put(struct kp_records*, int lvl, char* content, size_t len);
34
35 #endif /* __LUNAIX_KP_RECORDS_H */