Linux ip-148-66-134-25.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els10.x86_64 #1 SMP Fri Oct 11 21:40:41 UTC 2024 x86_64
Apache
: 148.66.134.25 | : 18.116.40.53
66 Domain
8.0.30
amvm
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
include /
bind9 /
isc /
[ HOME SHELL ]
Name
Size
Permission
Action
aes.h
1.05
KB
-rw-r--r--
app.h
10.23
KB
-rw-r--r--
assertions.h
2.78
KB
-rw-r--r--
atomic.h
4.15
KB
-rw-r--r--
backtrace.h
3.8
KB
-rw-r--r--
base32.h
3.94
KB
-rw-r--r--
base64.h
2.39
KB
-rw-r--r--
bind9.h
849
B
-rw-r--r--
boolean.h
746
B
-rw-r--r--
buffer.h
25.69
KB
-rw-r--r--
bufferlist.h
1.42
KB
-rw-r--r--
commandline.h
1.69
KB
-rw-r--r--
condition.h
1.44
KB
-rw-r--r--
counter.h
1.88
KB
-rw-r--r--
crc64.h
986
B
-rw-r--r--
deprecated.h
622
B
-rw-r--r--
dir.h
1.96
KB
-rw-r--r--
entropy.h
8.76
KB
-rw-r--r--
errno.h
658
B
-rw-r--r--
errno2result.h
893
B
-rw-r--r--
error.h
1.4
KB
-rw-r--r--
event.h
2.98
KB
-rw-r--r--
eventclass.h
1.35
KB
-rw-r--r--
file.h
11.43
KB
-rw-r--r--
formatcheck.h
892
B
-rw-r--r--
fsaccess.h
7.25
KB
-rw-r--r--
hash.h
7.52
KB
-rw-r--r--
heap.h
5.14
KB
-rw-r--r--
hex.h
2.33
KB
-rw-r--r--
hmacmd5.h
1.75
KB
-rw-r--r--
hmacsha.h
4.44
KB
-rw-r--r--
ht.h
4.29
KB
-rw-r--r--
httpd.h
2.26
KB
-rw-r--r--
int.h
1.37
KB
-rw-r--r--
interfaceiter.h
3.03
KB
-rw-r--r--
iterated_hash.h
1.02
KB
-rw-r--r--
json.h
1.42
KB
-rw-r--r--
keyboard.h
976
B
-rw-r--r--
lang.h
636
B
-rw-r--r--
lex.h
9.42
KB
-rw-r--r--
lfsr.h
2.88
KB
-rw-r--r--
lib.h
1.04
KB
-rw-r--r--
likely.h
718
B
-rw-r--r--
list.h
5.65
KB
-rw-r--r--
log.h
28.06
KB
-rw-r--r--
magic.h
993
B
-rw-r--r--
md5.h
2.34
KB
-rw-r--r--
mem.h
20.63
KB
-rw-r--r--
meminfo.h
690
B
-rw-r--r--
msgcat.h
2.66
KB
-rw-r--r--
msgs.h
8.22
KB
-rw-r--r--
mutex.h
3.44
KB
-rw-r--r--
mutexblock.h
1.34
KB
-rw-r--r--
net.h
10.32
KB
-rw-r--r--
netaddr.h
4.56
KB
-rw-r--r--
netdb.h
862
B
-rw-r--r--
netscope.h
947
B
-rw-r--r--
offset.h
699
B
-rw-r--r--
once.h
981
B
-rw-r--r--
ondestroy.h
2.79
KB
-rw-r--r--
os.h
670
B
-rw-r--r--
parseint.h
1.49
KB
-rw-r--r--
platform.h
9.31
KB
-rw-r--r--
pool.h
3.42
KB
-rw-r--r--
portset.h
3.21
KB
-rw-r--r--
print.h
2.49
KB
-rw-r--r--
queue.h
4.66
KB
-rw-r--r--
quota.h
2.29
KB
-rw-r--r--
radix.h
6.37
KB
-rw-r--r--
random.h
2.99
KB
-rw-r--r--
ratelimiter.h
3.38
KB
-rw-r--r--
refcount.h
7.89
KB
-rw-r--r--
regex.h
766
B
-rw-r--r--
region.h
1.99
KB
-rw-r--r--
resource.h
2.8
KB
-rw-r--r--
result.h
4.62
KB
-rw-r--r--
resultclass.h
1.56
KB
-rw-r--r--
rwlock.h
3.6
KB
-rw-r--r--
safe.h
1.21
KB
-rw-r--r--
serial.h
1.4
KB
-rw-r--r--
sha1.h
1.52
KB
-rw-r--r--
sha2.h
5.65
KB
-rw-r--r--
sockaddr.h
6
KB
-rw-r--r--
socket.h
35.81
KB
-rw-r--r--
stat.h
805
B
-rw-r--r--
stats.h
3.02
KB
-rw-r--r--
stdio.h
1.74
KB
-rw-r--r--
stdlib.h
703
B
-rw-r--r--
stdtime.h
1.3
KB
-rw-r--r--
strerror.h
776
B
-rw-r--r--
string.h
5.94
KB
-rw-r--r--
symtab.h
4.21
KB
-rw-r--r--
syslog.h
843
B
-rw-r--r--
task.h
21.08
KB
-rw-r--r--
taskpool.h
3.61
KB
-rw-r--r--
thread.h
1.47
KB
-rw-r--r--
time.h
8.66
KB
-rw-r--r--
timer.h
10.54
KB
-rw-r--r--
tm.h
894
B
-rw-r--r--
types.h
5.54
KB
-rw-r--r--
util.h
7.49
KB
-rw-r--r--
version.h
688
B
-rw-r--r--
xml.h
1.07
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : lex.h
/* * Copyright (C) Internet Systems Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ #ifndef ISC_LEX_H #define ISC_LEX_H 1 /***** ***** Module Info *****/ /*! \file isc/lex.h * \brief The "lex" module provides a lightweight tokenizer. It can operate * on files or buffers, and can handle "include". It is designed for * parsing of DNS master files and the BIND configuration file, but * should be general enough to tokenize other things, e.g. HTTP. * * \li MP: * No synchronization is provided. Clients must ensure exclusive * access. * * \li Reliability: * No anticipated impact. * * \li Resources: * TBS * * \li Security: * No anticipated impact. * * \li Standards: * None. */ /*** *** Imports ***/ #include <stdio.h> #include <isc/lang.h> #include <isc/region.h> #include <isc/types.h> ISC_LANG_BEGINDECLS /*** *** Options ***/ /*@{*/ /*! * Various options for isc_lex_gettoken(). */ #define ISC_LEXOPT_EOL 0x01 /*%< Want end-of-line token. */ #define ISC_LEXOPT_EOF 0x02 /*%< Want end-of-file token. */ #define ISC_LEXOPT_INITIALWS 0x04 /*%< Want initial whitespace. */ #define ISC_LEXOPT_NUMBER 0x08 /*%< Recognize numbers. */ #define ISC_LEXOPT_QSTRING 0x10 /*%< Recognize qstrings. */ /*@}*/ /*@{*/ /*! * The ISC_LEXOPT_DNSMULTILINE option handles the processing of '(' and ')' in * the DNS master file format. If this option is set, then the * ISC_LEXOPT_INITIALWS and ISC_LEXOPT_EOL options will be ignored when * the paren count is > 0. To use this option, '(' and ')' must be special * characters. */ #define ISC_LEXOPT_DNSMULTILINE 0x20 /*%< Handle '(' and ')'. */ #define ISC_LEXOPT_NOMORE 0x40 /*%< Want "no more" token. */ #define ISC_LEXOPT_CNUMBER 0x80 /*%< Recognize octal and hex. */ #define ISC_LEXOPT_ESCAPE 0x100 /*%< Recognize escapes. */ #define ISC_LEXOPT_QSTRINGMULTILINE 0x200 /*%< Allow multiline "" strings */ #define ISC_LEXOPT_OCTAL 0x400 /*%< Expect a octal number. */ #define ISC_LEXOPT_BTEXT 0x800 /*%< Bracketed text. */ /*@}*/ /*@{*/ /*! * Various commenting styles, which may be changed at any time with * isc_lex_setcomments(). */ #define ISC_LEXCOMMENT_C 0x01 #define ISC_LEXCOMMENT_CPLUSPLUS 0x02 #define ISC_LEXCOMMENT_SHELL 0x04 #define ISC_LEXCOMMENT_DNSMASTERFILE 0x08 /*@}*/ /*** *** Types ***/ /*! Lex */ typedef char isc_lexspecials_t[256]; /* Tokens */ typedef enum { isc_tokentype_unknown = 0, isc_tokentype_string = 1, isc_tokentype_number = 2, isc_tokentype_qstring = 3, isc_tokentype_eol = 4, isc_tokentype_eof = 5, isc_tokentype_initialws = 6, isc_tokentype_special = 7, isc_tokentype_nomore = 8, isc_tokentype_btext = 8 } isc_tokentype_t; typedef union { char as_char; unsigned long as_ulong; isc_region_t as_region; isc_textregion_t as_textregion; void * as_pointer; } isc_tokenvalue_t; typedef struct isc_token { isc_tokentype_t type; isc_tokenvalue_t value; } isc_token_t; /*** *** Functions ***/ isc_result_t isc_lex_create(isc_mem_t *mctx, size_t max_token, isc_lex_t **lexp); /*%< * Create a lexer. * * 'max_token' is a hint of the number of bytes in the largest token. * * Requires: *\li '*lexp' is a valid lexer. * * Ensures: *\li On success, *lexp is attached to the newly created lexer. * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMEMORY */ void isc_lex_destroy(isc_lex_t **lexp); /*%< * Destroy the lexer. * * Requires: *\li '*lexp' is a valid lexer. * * Ensures: *\li *lexp == NULL */ unsigned int isc_lex_getcomments(isc_lex_t *lex); /*%< * Return the current lexer commenting styles. * * Requires: *\li 'lex' is a valid lexer. * * Returns: *\li The commenting sytles which are currently allowed. */ void isc_lex_setcomments(isc_lex_t *lex, unsigned int comments); /*%< * Set allowed lexer commenting styles. * * Requires: *\li 'lex' is a valid lexer. * *\li 'comments' has meaningful values. */ void isc_lex_getspecials(isc_lex_t *lex, isc_lexspecials_t specials); /*%< * Put the current list of specials into 'specials'. * * Requires: *\li 'lex' is a valid lexer. */ void isc_lex_setspecials(isc_lex_t *lex, isc_lexspecials_t specials); /*!< * The characters in 'specials' are returned as tokens. Along with * whitespace, they delimit strings and numbers. * * Note: *\li Comment processing takes precedence over special character * recognition. * * Requires: *\li 'lex' is a valid lexer. */ isc_result_t isc_lex_openfile(isc_lex_t *lex, const char *filename); /*%< * Open 'filename' and make it the current input source for 'lex'. * * Requires: *\li 'lex' is a valid lexer. * *\li filename is a valid C string. * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMEMORY Out of memory *\li #ISC_R_NOTFOUND File not found *\li #ISC_R_NOPERM No permission to open file *\li #ISC_R_FAILURE Couldn't open file, not sure why *\li #ISC_R_UNEXPECTED */ isc_result_t isc_lex_openstream(isc_lex_t *lex, FILE *stream); /*%< * Make 'stream' the current input source for 'lex'. * * Requires: *\li 'lex' is a valid lexer. * *\li 'stream' is a valid C stream. * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMEMORY Out of memory */ isc_result_t isc_lex_openbuffer(isc_lex_t *lex, isc_buffer_t *buffer); /*%< * Make 'buffer' the current input source for 'lex'. * * Requires: *\li 'lex' is a valid lexer. * *\li 'buffer' is a valid buffer. * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMEMORY Out of memory */ isc_result_t isc_lex_close(isc_lex_t *lex); /*%< * Close the most recently opened object (i.e. file or buffer). * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMORE No more input sources */ isc_result_t isc_lex_gettoken(isc_lex_t *lex, unsigned int options, isc_token_t *tokenp); /*%< * Get the next token. * * Requires: *\li 'lex' is a valid lexer. * *\li 'lex' has an input source. * *\li 'options' contains valid options. * *\li '*tokenp' is a valid pointer. * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_UNEXPECTEDEND *\li #ISC_R_NOMEMORY * * These two results are returned only if their corresponding lexer * options are not set. * *\li #ISC_R_EOF End of input source *\li #ISC_R_NOMORE No more input sources */ isc_result_t isc_lex_getmastertoken(isc_lex_t *lex, isc_token_t *token, isc_tokentype_t expect, isc_boolean_t eol); /*%< * Get the next token from a DNS master file type stream. This is a * convenience function that sets appropriate options and handles quoted * strings and end of line correctly for master files. It also ungets * unexpected tokens. * * Requires: *\li 'lex' is a valid lexer. * *\li 'token' is a valid pointer * * Returns: * * \li any return code from isc_lex_gettoken(). */ isc_result_t isc_lex_getoctaltoken(isc_lex_t *lex, isc_token_t *token, isc_boolean_t eol); /*%< * Get the next token from a DNS master file type stream. This is a * convenience function that sets appropriate options and handles end * of line correctly for master files. It also ungets unexpected tokens. * * Requires: *\li 'lex' is a valid lexer. * *\li 'token' is a valid pointer * * Returns: * * \li any return code from isc_lex_gettoken(). */ void isc_lex_ungettoken(isc_lex_t *lex, isc_token_t *tokenp); /*%< * Unget the current token. * * Requires: *\li 'lex' is a valid lexer. * *\li 'lex' has an input source. * *\li 'tokenp' points to a valid token. * *\li There is no ungotten token already. */ void isc_lex_getlasttokentext(isc_lex_t *lex, isc_token_t *tokenp, isc_region_t *r); /*%< * Returns a region containing the text of the last token returned. * * Requires: *\li 'lex' is a valid lexer. * *\li 'lex' has an input source. * *\li 'tokenp' points to a valid token. * *\li A token has been gotten and not ungotten. */ char * isc_lex_getsourcename(isc_lex_t *lex); /*%< * Return the input source name. * * Requires: *\li 'lex' is a valid lexer. * * Returns: * \li source name or NULL if no current source. *\li result valid while current input source exists. */ unsigned long isc_lex_getsourceline(isc_lex_t *lex); /*%< * Return the input source line number. * * Requires: *\li 'lex' is a valid lexer. * * Returns: *\li Current line number or 0 if no current source. */ isc_result_t isc_lex_setsourcename(isc_lex_t *lex, const char *name); /*%< * Assigns a new name to the input source. * * Requires: * * \li 'lex' is a valid lexer. * * Returns: * \li #ISC_R_SUCCESS * \li #ISC_R_NOMEMORY * \li #ISC_R_NOTFOUND - there are no sources. */ isc_result_t isc_lex_setsourceline(isc_lex_t *lex, unsigned long line); /*%< * Assigns a new line number to the input source. This can be used * when parsing a buffer that's been excerpted from the middle a file, * allowing logged messages to display the correct line number, * rather than the line number within the buffer. * * Requires: * * \li 'lex' is a valid lexer. * * Returns: * \li #ISC_R_SUCCESS * \li #ISC_R_NOTFOUND - there are no sources. */ isc_boolean_t isc_lex_isfile(isc_lex_t *lex); /*%< * Return whether the current input source is a file. * * Requires: *\li 'lex' is a valid lexer. * * Returns: * \li #ISC_TRUE if the current input is a file, *\li #ISC_FALSE otherwise. */ ISC_LANG_ENDDECLS #endif /* ISC_LEX_H */
Close