📄 dump_config.c
字号:
/* $Id: dump_config.c,v 5.12 2002/02/22 14:47:47 lirc Exp $ *//**************************************************************************** ** dump_config.c *********************************************************** **************************************************************************** * * dump_config.c - dumps data structures into file * * Copyright (C) 1998 Pablo d'Angelo <pablo@ag-trek.allgaeu.org> * */ #ifdef HAVE_CONFIG_H# include <config.h>#endif#ifdef TIME_WITH_SYS_TIME# include <sys/time.h># include <time.h>#else# ifdef HAVE_SYS_TIME_H# include <sys/time.h># else# include <time.h># endif#endif#include "dump_config.h"#include "config_file.h"void fprint_comment(FILE *f,struct ir_remote *rem){ time_t timet; struct tm *tmp; timet=time(NULL); tmp=localtime(&timet); fprintf(f, "#\n" "# this config file was automatically generated\n" "# using lirc-%s(%s) on %s" "#\n" "# contributed by \n" "#\n" "# brand: %s\n" "# model no. of remote control: \n" "# devices being controlled by this remote:\n" "#\n\n",VERSION,LIRC_DRIVER,asctime(tmp), rem->name);}void fprint_flags(FILE *f, int flags){ int i; int begin=0; for(i=0;all_flags[i].flag;i++) { if(flags&all_flags[i].flag) { flags&=(~all_flags[i].flag); if(begin==0) fprintf(f, " flags "); else if(begin==1) fprintf(f,"|"); fprintf(f,"%s",all_flags[i].name); begin=1; } } if(begin==1) fprintf(f,"\n");}void fprint_remotes(FILE *f, struct ir_remote *all){ while(all) { fprint_remote(f, all); fprintf(f, "\n\n"); all=all->next; }}void fprint_remote_head(FILE *f, struct ir_remote *rem){ fprintf(f, "begin remote\n\n"); if(!is_raw(rem)){ fprintf(f, " name %s\n",rem->name); fprintf(f, " bits %5d\n",rem->bits); fprint_flags(f,rem->flags); fprintf(f, " eps %5d\n",rem->eps); fprintf(f, " aeps %5d\n\n",rem->aeps); if(has_header(rem)) { fprintf(f, " header %5lu %5lu\n", (unsigned long) rem->phead, (unsigned long) rem->shead); } if(rem->pthree!=0 || rem->sthree!=0) fprintf(f, " three %5lu %5lu\n", (unsigned long) rem->pthree, (unsigned long) rem->sthree); if(rem->ptwo!=0 || rem->stwo!=0) fprintf(f, " two %5lu %5lu\n", (unsigned long) rem->ptwo, (unsigned long) rem->stwo); fprintf(f, " one %5lu %5lu\n", (unsigned long) rem->pone, (unsigned long) rem->sone); fprintf(f, " zero %5lu %5lu\n", (unsigned long) rem->pzero, (unsigned long) rem->szero); if(rem->ptrail!=0) { fprintf(f, " ptrail %5lu\n", (unsigned long) rem->ptrail); } if(rem->plead!=0) { fprintf(f, " plead %5lu\n", (unsigned long) rem->plead); } if(has_foot(rem)) { fprintf(f, " foot %5lu %5lu\n", (unsigned long) rem->pfoot, (unsigned long) rem->sfoot); } if(has_repeat(rem)) { fprintf(f, " repeat %5lu %5lu\n", (unsigned long) rem->prepeat, (unsigned long) rem->srepeat); } if(rem->pre_data_bits>0) { fprintf(f, " pre_data_bits %d\n",rem->pre_data_bits);# ifdef LONG_IR_CODE fprintf(f, " pre_data 0x%llX\n",rem->pre_data);# else fprintf(f, " pre_data 0x%lX\n",rem->pre_data);# endif } if(rem->post_data_bits>0) { fprintf(f, " post_data_bits %d\n",rem->post_data_bits);# ifdef LONG_IR_CODE fprintf(f, " post_data 0x%llX\n",rem->post_data);# else fprintf(f, " post_data 0x%lX\n",rem->post_data);# endif } if(rem->pre_p!=0 && rem->pre_s!=0) { fprintf(f, " pre %5lu %5lu\n", (unsigned long) rem->pre_p, (unsigned long) rem->pre_s); } if(rem->post_p!=0 && rem->post_s!=0) { fprintf(f, " post %5lu %5lu\n", (unsigned long) rem->post_p, (unsigned long) rem->post_s); } fprintf(f, " gap %lu\n", (unsigned long) rem->gap); if(has_repeat_gap(rem)) { fprintf(f, " repeat_gap %lu\n", (unsigned long) rem->repeat_gap); } if(rem->min_repeat>0) { fprintf(f, " min_repeat %d\n",rem->min_repeat); } fprintf(f, " toggle_bit %d\n\n",rem->toggle_bit); if(has_toggle_mask(rem)) {# ifdef LONG_IR_CODE fprintf(f, " toggle_mask 0x%llX\n", rem->toggle_mask);# else fprintf(f, " toggle_mask 0x%lX\n", rem->toggle_mask);# endif } } else { fprintf(f, " name %s\n",rem->name); fprint_flags(f,rem->flags); fprintf(f, " eps %5d\n",rem->eps); fprintf(f, " aeps %5d\n\n",rem->aeps); fprintf(f, " ptrail %5lu\n",(unsigned long) rem->ptrail); fprintf(f, " repeat %5lu %5lu\n", (unsigned long) rem->prepeat, (unsigned long) rem->srepeat); fprintf(f, " gap %lu\n",(unsigned long) rem->gap); } if(rem->freq!=0) { fprintf(f, " frequency %u\n",rem->freq); } if(rem->duty_cycle!=0) { fprintf(f, " duty_cycle %u\n",rem->duty_cycle); } fprintf(f,"\n");}void fprint_remote_foot(FILE *f, struct ir_remote *rem){ fprintf(f, "end remote\n");}void fprint_remote_signal_head(FILE *f, struct ir_remote *rem){ if(!is_raw(rem)) fprintf(f, " begin codes\n"); else fprintf(f, " begin raw_codes\n\n");}void fprint_remote_signal_foot(FILE *f, struct ir_remote *rem){ if(!is_raw(rem)) fprintf(f, " end codes\n\n"); else fprintf(f, " end raw_codes\n\n");}void fprint_remote_signal(FILE *f,struct ir_remote *rem, struct ir_ncode *codes){ int i,j; if(!is_raw(rem)) {# ifdef LONG_IR_CODE fprintf(f, " %-24s 0x%016llX\n",codes->name, codes->code);# else fprintf(f, " %-24s 0x%016lX\n",codes->name, codes->code);# endif } else { fprintf(f, " name %s\n",codes->name); j=0; for(i=0;i<codes->length;i++){ if (j==0){ fprintf(f, " %7lu", (unsigned long) codes->signals[i]); }else if (j<5){ fprintf(f, " %7lu", (unsigned long) codes->signals[i]); }else{ fprintf(f, " %7lu\n", (unsigned long) codes->signals[i]); j=-1; } j++; } codes++; if (j==0) { fprintf(f,"\n"); }else { fprintf(f,"\n\n"); j=0; } }}void fprint_remote_signals(FILE *f, struct ir_remote *rem){ struct ir_ncode *codes; fprint_remote_signal_head(f,rem); codes=rem->codes; while(codes->name!=NULL) { fprint_remote_signal(f,rem,codes); codes++; } fprint_remote_signal_foot(f,rem);}void fprint_remote(FILE *f, struct ir_remote *rem){ fprint_comment(f,rem); fprint_remote_head(f,rem); fprint_remote_signals(f,rem); fprint_remote_foot(f,rem);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -