libkeymap  2.0.4
Library to manage the Linux keymaps
src/libkeymap/keymap/dump.h
Go to the documentation of this file.
00001 
00005 #ifndef LK_DUMP_H
00006 #define LK_DUMP_H
00007 
00008 #include <stdio.h>
00009 
00010 #include <keymap/context.h>
00011 
00015 typedef enum {
00016         LK_SHAPE_DEFAULT        = (1 << 1),
00017         LK_SHAPE_FULL_TABLE     = (1 << 2), 
00018         LK_SHAPE_SEPARATE_LINES = (1 << 3), 
00019         LK_SHAPE_UNTIL_HOLE     = (1 << 4)  
00020 } lk_table_shape;
00021 
00025 struct kmapinfo {
00026         lk_flags flags;         
00027         lk_keywords keywords;   
00028         size_t keymaps;         
00029         size_t keymaps_alloced; 
00030         size_t functions;       
00031         size_t composes;        
00033         size_t keymaps_total;
00034         size_t functions_total;
00035         size_t composes_total;
00036 };
00037 
00045 int lk_dump_bkeymap(struct lk_ctx *ctx, FILE *fd);
00046 
00054 int lk_dump_ctable(struct lk_ctx *ctx, FILE *fd);
00055 
00064 void lk_dump_keymap(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric);
00065 
00073 void lk_dump_keys(struct lk_ctx *ctx, FILE *fd, lk_table_shape table, char numeric);
00074 
00080 void lk_dump_keymaps(struct lk_ctx *ctx, FILE *fd);
00081 
00087 void lk_dump_funcs(struct lk_ctx *ctx, FILE *fd);
00088 
00094 void lk_dump_diacs(struct lk_ctx *ctx, FILE *fd);
00095 
00103 char *lk_code_to_ksym(struct lk_ctx *ctx, int code);
00104 
00105 char *lk_get_sym(struct lk_ctx *ctx, unsigned int ktype, unsigned int index);
00106 
00114 int lk_ksym_to_unicode(struct lk_ctx *ctx, const char *code);
00115 
00116 int lk_get_kmapinfo(struct lk_ctx *ctx, struct kmapinfo *res);
00117 void lk_dump_summary(struct lk_ctx *ctx, FILE *fd, int console);
00118 void lk_dump_symbols(struct lk_ctx *ctx, FILE *fd);
00119 
00120 #endif /* LK_DUMP_H */