📄 dceconf.l
字号:
%{#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include "dce_def.h"#define PORT 1#define MADDR 2#define EQUAL 3#define NUM 4#define ADDR 5#define TIME 6int TIMEOUT_IAMALIVE;%}%%\# while (input()!='\n');\= return EQUAL;maddr return MADDR;mport return PORT;time return TIME;[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ return ADDR;[0-9]+ return NUM;[\b|\n|\t]* {}%%intdce_readconf (u_long * maddr, int *mport){ static int nPort; static u_long uAddr; int nToken; char buf[256]; if (nPort) { *maddr = uAddr; *mport = nPort; return 1; } sprintf (buf, "%s/dce.conf", getenv ("DCE_ROOT")); if ((yyin = fopen (buf, "rt"))) while ((nToken = yylex ()) > 0) switch (nToken) { case MADDR: if ((yylex () == EQUAL) && (yylex () == ADDR)) uAddr = inet_addr (yytext); break; case PORT: if ((yylex () == EQUAL) && (yylex () == NUM)) nPort = atol (yytext); break; case TIME: if ((yylex()==EQUAL) && (yylex () == NUM)) TIMEOUT_IAMALIVE = atoi (yytext); break; } if (yyin) fclose (yyin); if ((IN_MULTICAST (ntohl (uAddr))) && (nPort > 1024)) { *maddr = uAddr; *mport = nPort; if (TIMEOUT_IAMALIVE<_TIMEOUT_IAMALIVE) TIMEOUT_IAMALIVE=_TIMEOUT_IAMALIVE; return 1; } fprintf (stderr, "Error in Read file %s or DCE_ROOT variable not found\n", buf); exit (-1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -