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 + -
显示快捷键?