|
|
| version 1.8, 2025/04/09 00:43:07 | version 1.10, 2025/04/11 00:52:40 |
|---|---|
| Line 24 | Line 24 |
| * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | * along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
| * | * |
| * $Log$ | * $Log$ |
| * Revision 1.10 2025/04/11 00:52:40 snw | |
| * Replace all lseek/read calls in global handler to use gbl_read_block function | |
| * | |
| * Revision 1.9 2025/04/09 14:34:30 snw | |
| * Further work on global_bltin.c refactor | |
| * | |
| * Revision 1.8 2025/04/09 00:43:07 snw | * Revision 1.8 2025/04/09 00:43:07 snw |
| * Exit with fatal error if a header mismatch found | * Exit with fatal error if a header mismatch found |
| * | * |
| Line 81 typedef struct global_handle { | Line 87 typedef struct global_handle { |
| int fd; /* file descriptor */ | int fd; /* file descriptor */ |
| global_header header; | global_header header; |
| long use_count; /* how many times has it been accessed? */ | |
| long age; | long age; |
| short opened; | short opened; |
| short locked; | short locked; |
| unsigned long last_block; | unsigned long last_block; |
| unsigned long use_count; /* how many times has it been accessed? */ | |
| unsigned long read_ops; | |
| unsigned long write_ops; | |
| unsigned long splits; | |
| unsigned long cache_misses; | |
| unsigned long cache_hits; | |
| short fast_path; | short fast_path; |
| char global_name[256]; | char global_name[256]; |
| Line 98 typedef struct global_handle { | Line 111 typedef struct global_handle { |
| } global_handle; | } global_handle; |
| extern global_handle *global_handles_head; | extern global_handle *global_handles_head; |
| extern unsigned long gbl_cache_misses; | |
| extern unsigned long gbl_cache_hits; | |
| extern inline long gbl_path(char *key, char *buf); | extern inline long gbl_path(char *key, char *buf); |
| extern void gbl_cache_hit(global_handle *g); | |
| extern void gbl_cache_miss(global_handle *g); | |
| extern int gbl_lock(global_handle *g, int type); | extern int gbl_lock(global_handle *g, int type); |
| extern int gbl_unlock(global_handle *g); | extern int gbl_unlock(global_handle *g); |
| extern void gbl_close(global_handle *g); | extern void gbl_close(global_handle *g); |
| Line 111 extern int gbl_read_header(global_handle | Line 127 extern int gbl_read_header(global_handle |
| extern int gbl_update_tid(global_handle *g); | extern int gbl_update_tid(global_handle *g); |
| extern int gbl_create(global_handle *g); | extern int gbl_create(global_handle *g); |
| extern short gbl_open(global_handle *g, short action); | extern short gbl_open(global_handle *g, short action); |
| extern int gbl_read_block(global_handle *g, unsigned long blocknum, char *block); | |
| extern global_handle *gbl_handle(char *key); | extern global_handle *gbl_handle(char *key); |
| #endif | #endif |