init.c
来自「Android 一些工具」· C语言 代码 · 共 1,091 行 · 第 1/2 页
C
1,091 行
#undef EV_TESTED#define EV_TESTED 02 /* exit status is checked; ignore -e flag */#undef EV_BACKCMD#define EV_BACKCMD 04 /* command executing within back quotes */#undef CMDTABLESIZE#define CMDTABLESIZE 31 /* should be prime */#undef ARB#define ARB 1 /* actual size determined at run time */#undef NEWARGS#define NEWARGS 5#undef EOF_NLEFT#define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */#undef _PATH_DEVNULL#define _PATH_DEVNULL "/dev/null"#undef PROFILE#define PROFILE 0#undef SIGSSIZE#define SIGSSIZE (sizeof(sigs)/sizeof(sigs[0]))#undef MINSIZE#define MINSIZE 504 /* minimum size of a block */#undef DEFINE_OPTIONS#define DEFINE_OPTIONS#undef EOFMARKLEN#define EOFMARKLEN 79#undef OPENBRACE#define OPENBRACE '{'#undef CLOSEBRACE#define CLOSEBRACE '}'#undef EMPTY#define EMPTY -2 /* marks an unused slot in redirtab */#undef signal#define signal bsd_signal#undef sys_signame#define sys_signame sys_siglist#undef S_DFL#define S_DFL 1 /* default signal handling (SIG_DFL) */#undef S_CATCH#define S_CATCH 2 /* signal is caught */#undef S_IGN#define S_IGN 3 /* signal is ignored (SIG_IGN) */#undef S_HARD_IGN#define S_HARD_IGN 4 /* signal is ignored permenantly */#undef S_RESET#define S_RESET 5 /* temporary - to reset a hard ignored sig */#undef OUTBUFSIZ#define OUTBUFSIZ BUFSIZ#undef BLOCK_OUT#define BLOCK_OUT -2 /* output to a fixed block of memory */#undef MEM_OUT#define MEM_OUT -3 /* output to dynamically allocated memory */#undef OUTPUT_ERR#define OUTPUT_ERR 01 /* error occurred on output */#undef TEMPSIZE#define TEMPSIZE 24#undef HAVE_VASPRINTF#define HAVE_VASPRINTF 1#undef VTABSIZE#define VTABSIZE 39#undef VTABSIZE#define VTABSIZE 517#undef main#define main echocmd#undef YYBISON#define YYBISON 1#undef YYSKELETON_NAME#define YYSKELETON_NAME "yacc.c"#undef YYPURE#define YYPURE 0#undef YYLSP_NEEDED#define YYLSP_NEEDED 0#undef ARITH_NUM#define ARITH_NUM 258#undef ARITH_LPAREN#define ARITH_LPAREN 259#undef ARITH_RPAREN#define ARITH_RPAREN 260#undef ARITH_OR#define ARITH_OR 261#undef ARITH_AND#define ARITH_AND 262#undef ARITH_BOR#define ARITH_BOR 263#undef ARITH_BXOR#define ARITH_BXOR 264#undef ARITH_BAND#define ARITH_BAND 265#undef ARITH_NE#define ARITH_NE 266#undef ARITH_EQ#define ARITH_EQ 267#undef ARITH_LE#define ARITH_LE 268#undef ARITH_GE#define ARITH_GE 269#undef ARITH_GT#define ARITH_GT 270#undef ARITH_LT#define ARITH_LT 271#undef ARITH_RSHIFT#define ARITH_RSHIFT 272#undef ARITH_LSHIFT#define ARITH_LSHIFT 273#undef ARITH_SUB#define ARITH_SUB 274#undef ARITH_ADD#define ARITH_ADD 275#undef ARITH_REM#define ARITH_REM 276#undef ARITH_DIV#define ARITH_DIV 277#undef ARITH_MUL#define ARITH_MUL 278#undef ARITH_BNOT#define ARITH_BNOT 279#undef ARITH_NOT#define ARITH_NOT 280#undef ARITH_UNARYPLUS#define ARITH_UNARYPLUS 281#undef ARITH_UNARYMINUS#define ARITH_UNARYMINUS 282#undef YYFINAL#define YYFINAL 14#undef YYLAST#define YYLAST 170#undef YYNTOKENS#define YYNTOKENS 28#undef YYNNTS#define YYNNTS 3#undef YYNRULES#define YYNRULES 26#undef YYNSTATES#define YYNSTATES 52#undef YYUNDEFTOK#define YYUNDEFTOK 2#undef YYMAXUTOK#define YYMAXUTOK 282#undef YYPACT_NINF#define YYPACT_NINF -13#undef YYTABLE_NINF#define YYTABLE_NINF -1#undef yyerrok#define yyerrok (yyerrstatus = 0)#undef yyclearin#define yyclearin (yychar = YYEMPTY)#undef YYEMPTY#define YYEMPTY (-2)#undef YYEOF#define YYEOF 0#undef YYACCEPT#define YYACCEPT goto yyacceptlab#undef YYABORT#define YYABORT goto yyabortlab#undef YYERROR#define YYERROR goto yyerrorlab#undef YYFAIL#define YYFAIL goto yyerrlab#undef YYTERROR#define YYTERROR 1#undef YYERRCODE#define YYERRCODE 256#undef YYPOPSTACK#define YYPOPSTACK (yyvsp--, yyssp--)#undef YY_INT_ALIGNED#define YY_INT_ALIGNED short int#undef FLEX_SCANNER#define FLEX_SCANNER#undef YY_FLEX_MAJOR_VERSION#define YY_FLEX_MAJOR_VERSION 2#undef YY_FLEX_MINOR_VERSION#define YY_FLEX_MINOR_VERSION 5#undef YY_FLEX_SUBMINOR_VERSION#define YY_FLEX_SUBMINOR_VERSION 31#undef FLEX_BETA#define FLEX_BETA#undef FLEXINT_H#define FLEXINT_H#undef INT8_MIN#define INT8_MIN (-128)#undef INT16_MIN#define INT16_MIN (-32767-1)#undef INT32_MIN#define INT32_MIN (-2147483647-1)#undef INT8_MAX#define INT8_MAX (127)#undef INT16_MAX#define INT16_MAX (32767)#undef INT32_MAX#define INT32_MAX (2147483647)#undef UINT8_MAX#define UINT8_MAX (255U)#undef UINT16_MAX#define UINT16_MAX (65535U)#undef UINT32_MAX#define UINT32_MAX (4294967295U)#undef YY_USE_CONST#define YY_USE_CONST#undef YY_USE_CONST#define YY_USE_CONST#undef yyconst#define yyconst const#undef yyconst#define yyconst#undef YY_NULL#define YY_NULL 0#undef BEGIN#define BEGIN (yy_start) = 1 + 2 *#undef YY_START#define YY_START (((yy_start) - 1) / 2)#undef YYSTATE#define YYSTATE YY_START#undef YY_NEW_FILE#define YY_NEW_FILE yyrestart(yyin )#undef YY_END_OF_BUFFER_CHAR#define YY_END_OF_BUFFER_CHAR 0#undef YY_BUF_SIZE#define YY_BUF_SIZE 16384#undef YY_TYPEDEF_YY_BUFFER_STATE#define YY_TYPEDEF_YY_BUFFER_STATE#undef EOB_ACT_CONTINUE_SCAN#define EOB_ACT_CONTINUE_SCAN 0#undef EOB_ACT_END_OF_FILE#define EOB_ACT_END_OF_FILE 1#undef EOB_ACT_LAST_MATCH#define EOB_ACT_LAST_MATCH 2#undef YY_TYPEDEF_YY_SIZE_T#define YY_TYPEDEF_YY_SIZE_T#undef YY_STRUCT_YY_BUFFER_STATE#define YY_STRUCT_YY_BUFFER_STATE#undef YY_BUFFER_NEW#define YY_BUFFER_NEW 0#undef YY_BUFFER_NORMAL#define YY_BUFFER_NORMAL 1#undef YY_BUFFER_EOF_PENDING#define YY_BUFFER_EOF_PENDING 2#undef YY_CURRENT_BUFFER#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \#undef YY_CURRENT_BUFFER_LVALUE#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]#undef YY_FLUSH_BUFFER#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )#undef yy_new_buffer#define yy_new_buffer yy_create_buffer#undef yytext_ptr#define yytext_ptr yytext#undef YY_DO_BEFORE_ACTION#define YY_DO_BEFORE_ACTION \#undef YY_NUM_RULES#define YY_NUM_RULES 29#undef YY_END_OF_BUFFER#define YY_END_OF_BUFFER 30#undef REJECT#define REJECT reject_used_but_not_detected#undef YY_MORE_ADJ#define YY_MORE_ADJ 0#undef YY_RESTORE_YY_MORE_OFFSET#define YY_RESTORE_YY_MORE_OFFSET#undef YY_NO_UNPUT#define YY_NO_UNPUT#undef INITIAL#define INITIAL 0#undef YY_EXTRA_TYPE#define YY_EXTRA_TYPE void *#undef YY_READ_BUF_SIZE#define YY_READ_BUF_SIZE 8192#undef ECHO#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )#undef YY_START_STACK_INCR#define YY_START_STACK_INCR 25#undef YY_DECL_IS_OURS#define YY_DECL_IS_OURS 1#undef YY_DECL#define YY_DECL int yylex (void)#undef YY_USER_ACTION#define YY_USER_ACTION#undef YY_BREAK#define YY_BREAK break;#undef YY_RULE_SETUP#define YY_RULE_SETUP \#undef YY_EXIT_FAILURE#define YY_EXIT_FAILURE 2#undef YYTABLES_NAME#define YYTABLES_NAME "yytables"#undef MAXPWD#define MAXPWD 256#undef ALL#define ALL (E_OPEN|E_CREAT|E_EXEC)#undef EV_EXIT#define EV_EXIT 01 /* exit after evaluating tree */#undef EV_TESTED#define EV_TESTED 02 /* exit status is checked; ignore -e flag */#undef EV_BACKCMD#define EV_BACKCMD 04 /* command executing within back quotes */#undef CMDTABLESIZE#define CMDTABLESIZE 31 /* should be prime */#undef ARB#define ARB 1 /* actual size determined at run time */#undef NEWARGS#define NEWARGS 5#undef EOF_NLEFT#define EOF_NLEFT -99 /* value of parsenleft when EOF pushed back */#undef _PATH_DEVNULL#define _PATH_DEVNULL "/dev/null"#undef PROFILE#define PROFILE 0#undef SIGSSIZE#define SIGSSIZE (sizeof(sigs)/sizeof(sigs[0]))#undef MINSIZE#define MINSIZE 504 /* minimum size of a block */#undef DEFINE_OPTIONS#define DEFINE_OPTIONS#undef EOFMARKLEN#define EOFMARKLEN 79#undef OPENBRACE#define OPENBRACE '{'#undef CLOSEBRACE#define CLOSEBRACE '}'#undef EMPTY#define EMPTY -2 /* marks an unused slot in redirtab */#undef S_DFL#define S_DFL 1 /* default signal handling (SIG_DFL) */#undef S_CATCH#define S_CATCH 2 /* signal is caught */#undef S_IGN#define S_IGN 3 /* signal is ignored (SIG_IGN) */#undef S_HARD_IGN#define S_HARD_IGN 4 /* signal is ignored permenantly */#undef S_RESET#define S_RESET 5 /* temporary - to reset a hard ignored sig */#undef OUTBUFSIZ#define OUTBUFSIZ BUFSIZ#undef BLOCK_OUT#define BLOCK_OUT -2 /* output to a fixed block of memory */#undef MEM_OUT#define MEM_OUT -3 /* output to dynamically allocated memory */#undef OUTPUT_ERR#define OUTPUT_ERR 01 /* error occurred on output */#undef TEMPSIZE#define TEMPSIZE 24#undef HAVE_VASPRINTF#define HAVE_VASPRINTF 1#undef VTABSIZE#define VTABSIZE 39#undef VTABSIZE#define VTABSIZE 517#undef main#define main echocmdextern void rmaliases(void);extern int loopnest; /* current loop nesting level */extern void deletefuncs(void);extern void hash_special_builtins(void);struct strpush { struct strpush *prev; /* preceding string on stack */ char *prevstring; int prevnleft; int prevlleft; struct alias *ap; /* if push was associated with an alias */};struct parsefile { struct parsefile *prev; /* preceding file on stack */ int linno; /* current line */ int fd; /* file descriptor (or -1 if string) */ int nleft; /* number of chars left in this line */ int lleft; /* number of chars left in this buffer */ char *nextc; /* next char in buffer */ char *buf; /* input buffer */ struct strpush *strpush; /* for pushing strings at this level */ struct strpush basestrpush; /* so pushing one is fast */};extern int parselleft; /* copy of parsefile->lleft */extern struct parsefile basepf; /* top level input file */extern char basebuf[BUFSIZ]; /* buffer for top level input file */extern pid_t backgndpid; /* pid of last background process */extern int jobctl;extern int tokpushback; /* last token pushed back */extern int checkkwd; /* 1 == check for kwds, 2 == also eat newlines */struct redirtab { struct redirtab *next; short renamed[10];};extern struct redirtab *redirlist;extern char sigmode[NSIG]; /* current value of signal */extern char **environ;/* * Initialization code. */voidinit() { /* from exec.c: */ { hash_special_builtins(); } /* from input.c: */ { basepf.nextc = basepf.buf = basebuf; } /* from var.c: */ { char **envp; initvar(); for (envp = environ ; *envp ; envp++) { if (strchr(*envp, '=')) { setvareq(*envp, VEXPORT|VTEXTFIXED); } } }}/* * This routine is called when an error or an interrupt occurs in an * interactive shell and control is returned to the main command loop. */voidreset() { /* from eval.c: */ { evalskip = 0; loopnest = 0; funcnest = 0; } /* from input.c: */ { if (exception != EXSHELLPROC) parselleft = parsenleft = 0; /* clear input buffer */ popallfiles(); } /* from parser.c: */ { tokpushback = 0; checkkwd = 0; } /* from redir.c: */ { while (redirlist) popredir(); } /* from output.c: */ { out1 = &output; out2 = &errout; if (memout.buf != NULL) { ckfree(memout.buf); memout.buf = NULL; } }}/* * This routine is called to initialize the shell to run a shell procedure. */voidinitshellproc() { /* from alias.c: */ { rmaliases(); } /* from eval.c: */ { exitstatus = 0; } /* from exec.c: */ { deletefuncs(); } /* from input.c: */ { popallfiles(); } /* from jobs.c: */ { backgndpid = -1;#if JOBS jobctl = 0;#endif } /* from options.c: */ { int i; for (i = 0; optlist[i].name; i++) optlist[i].val = 0; optschanged(); } /* from redir.c: */ { clearredir(0); } /* from trap.c: */ { char *sm; clear_traps(0); for (sm = sigmode ; sm < sigmode + NSIG ; sm++) { if (*sm == S_IGN) *sm = S_HARD_IGN; } } /* from var.c: */ { shprocvar(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?