/* $NetBSD: llex.h,v 1.9 2023/04/16 20:46:17 nikita Exp $ */ /* ** Id: llex.h ** Lexical Analyzer ** See Copyright Notice in lua.h */ #ifndef llex_h #define llex_h #ifndef _KERNEL #include #endif /* _KERNEL */ #include "lobject.h" #include "lzio.h" /* ** Single-char tokens (terminal symbols) are represented by their own ** numeric code. Other tokens start at the following value. */ #define FIRST_RESERVED (UCHAR_MAX + 1) #if !defined(LUA_ENV) #define LUA_ENV "_ENV" #endif /* * WARNING: if you change the order of this enumeration, * grep "ORDER RESERVED" */ enum RESERVED { /* terminal symbols denoted by reserved words */ TK_AND = FIRST_RESERVED, TK_BREAK, TK_DO, TK_ELSE, TK_ELSEIF, TK_END, TK_FALSE, TK_FOR, TK_FUNCTION, TK_GOTO, TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT, TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE, /* other terminal symbols */ TK_IDIV, TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_SHL, TK_SHR, TK_DBCOLON, TK_EOS, #ifndef _KERNEL TK_FLT, TK_INT, TK_NAME, TK_STRING #else /* _KERNEL */ TK_INT, TK_NAME, TK_STRING #endif /* _KERNEL */ }; /* number of reserved words */ #define NUM_RESERVED (cast_int(TK_WHILE-FIRST_RESERVED + 1)) typedef union { lua_Number r; lua_Integer i; TString *ts; } SemInfo; /* semantics information */ typedef struct Token { int token; SemInfo seminfo; } Token; /* state of the lexer plus state of the parser when shared by all functions */ typedef struct LexState { int current; /* current character (charint) */ int linenumber; /* input line counter */ int lastline; /* line of last token 'consumed' */ Token t; /* current token */ Token lookahead; /* look ahead token */ struct FuncState *fs; /* current function (parser) */ struct lua_State *L; ZIO *z; /* input stream */ Mbuffer *buff; /* buffer for tokens */ Table *h; /* to avoid collection/reuse strings */ struct Dyndata *dyd; /* dynamic structures used by the parser */ TString *source; /* current source name */ TString *envn; /* environment variable name */ } LexState; LUAI_FUNC void luaX_init (lua_State *L); LUAI_FUNC void luaX_setinput (lua_State *L, LexState *ls, ZIO *z, TString *source, int firstchar); LUAI_FUNC TString *luaX_newstring (LexState *ls, const char *str, size_t l); LUAI_FUNC void luaX_next (LexState *ls); LUAI_FUNC int luaX_lookahead (LexState *ls); LUAI_FUNC l_noret luaX_syntaxerror (LexState *ls, const char *s); LUAI_FUNC const char *luaX_token2str (LexState *ls, int token); #endif sd/commit/lib/libutil/login_cap.c?id=592ca1a8339f8f0fccbee75fe1bca156c585eda1'>Clean-up resources (sys/sys/resource.h) usagekamil 2013-06-29add "maxthread" tunable to login.conf to adjust RLIMIT_NTHR.yamt 2012-04-07- pass correct types.christos 2007-12-04Implement a new magic string for magic symlinks, @ruid, which exapnds to themjf 2007-10-06split LOGIN_SETGROUP -> LOGIN_SETGID|LOGIN_SETGROUPSchristos 2007-02-04Add support for per-user /tmp.elad 2006-12-20From Anon Ymous:christos 2006-10-15- Instead of wondering if to syslog an error, do so, but in the calledchristos 2006-10-14Allow escaping of the separators using a double backslashchristos 2005-12-20make setuserenv and setuserpath take an environment setting function andchristos 2005-08-27Lint warnings.elad 2005-04-13Allow for a login.conf file without an explicite "default" classdrochner 2004-12-20Unbreak setuserpath(); from Nick Hudson.christos 2004-12-11Constify; the api was completely broken before.christos 2004-05-09sbsize should be parsed as R_CSIZE so that suffixes work correctly.lukem 2004-04-23sprinkle constchristos 2004-04-18Add sbsize login capability.matt 2003-10-25delint pointer casts.christos 2003-10-21Don't use NULL to compare against an int.fvdl 2003-09-08initialize 'res' to NULLitojun 2003-09-08plug possible memory leak. from openbsditojun 2001-07-22seperate -> separatewiz 2001-01-03sprinkle in _DIAGASSERT() as appropriatelukem 2000-10-12/etc/login.conf is optional, so don't return NULL even ifitojun 2000-10-12cosmetic; indentationitojun 2000-09-21- Pull in <util.h> to get secure_path() declared.ad 2000-07-05- __RCSID() police.ad 2000-02-10Add a missing free() of a temporary buffer.mjl 2000-02-04Add login_getpwclass to libutil as convenience function formjl 2000-01-14Make setusercontext() resilient against missing login.conf too.mjl 2000-01-13Make login_cap routines resilient to non-existant conf file, andmjl 2000-01-12Add necessary support routines for login.conf.mjl