PATH: //proc/self/root/proc/thread-self/root/usr/include
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 FlexLexer.h
↓
X
📁 GL/
X
📁 X11/
X
📄 a.out.h
↓
X
📄 aio.h
↓
X
📄 aliases.h
↓
X
📄 alloca.h
↓
X
📄 ar.h
↓
X
📄 argp.h
↓
X
📄 argz.h
↓
X
📁 arpa/
X
📁 asm/
X
📁 asm-generic/
X
📄 assert.h
↓
X
📄 autosprintf.h
↓
X
📁 bind9/
X
📁 bits/
X
📁 blkid/
X
📁 brotli/
X
📁 bsock/
X
📄 byteswap.h
↓
X
📄 bzlib.h
↓
X
📁 c++/
X
📄 com_err.h
↓
X
📄 complex.h
↓
X
📄 cpio.h
↓
X
📄 cpuidle.h
↓
X
📄 crypt.h
↓
X
📄 ctype.h
↓
X
📄 curses.h
↓
X
📄 cursesapp.h
↓
X
📄 cursesf.h
↓
X
📄 cursesm.h
↓
X
📄 cursesp.h
↓
X
📄 cursesw.h
↓
X
📄 cursslk.h
↓
X
📄 dbm.h
↓
X
📄 dirent.h
↓
X
📄 dlfcn.h
↓
X
📁 drm/
X
📁 e2p/
X
📄 elf.h
↓
X
📄 endian.h
↓
X
📄 entities.h
↓
X
📄 envz.h
↓
X
📄 err.h
↓
X
📄 errno.h
↓
X
📄 error.h
↓
X
📁 et/
X
📄 eti.h
↓
X
📄 etip.h
↓
X
📄 evdns.h
↓
X
📄 event.h
↓
X
📁 event2/
X
📄 evhttp.h
↓
X
📄 evrpc.h
↓
X
📄 evutil.h
↓
X
📄 execinfo.h
↓
X
📄 expat.h
↓
X
📄 expat_config.h
↓
X
📄 expat_external.h
↓
X
📁 ext2fs/
X
📄 fcntl.h
↓
X
📄 features-time64.h
↓
X
📄 features.h
↓
X
📄 fenv.h
↓
X
📄 ffi-x86_64.h
↓
X
📄 ffi.h
↓
X
📄 ffitarget-x86_64.h
↓
X
📄 ffitarget.h
↓
X
📁 finclude/
X
📄 fmtmsg.h
↓
X
📄 fnmatch.h
↓
X
📁 fontconfig/
X
📄 form.h
↓
X
📄 fpu_control.h
↓
X
📁 freetype2/
X
📄 fstab.h
↓
X
📁 fstrm/
X
📄 fstrm.h
↓
X
📄 fts.h
↓
X
📄 ftw.h
↓
X
📁 fwctl/
X
📄 gconv.h
↓
X
📄 gd.h
↓
X
📄 gd_color_map.h
↓
X
📄 gd_errors.h
↓
X
📄 gd_io.h
↓
X
📁 gdbm/
X
📄 gdbm.h
↓
X
📄 gdcache.h
↓
X
📄 gdfontg.h
↓
X
📄 gdfontl.h
↓
X
📄 gdfontmb.h
↓
X
📄 gdfonts.h
↓
X
📄 gdfontt.h
↓
X
📄 gdfx.h
↓
X
📄 gdpp.h
↓
X
📄 getopt.h
↓
X
📄 gettext-po.h
↓
X
📁 gio-unix-2.0/
X
📁 glib-2.0/
X
📄 glob.h
↓
X
📁 gnu/
X
📄 gnu-versions.h
↓
X
📄 gnumake.h
↓
X
📁 google/
X
📄 gpg-error.h
↓
X
📄 gpgrt.h
↓
X
📁 graphite2/
X
📄 grp.h
↓
X
📄 gshadow.h
↓
X
📁 gssapi/
X
📄 gssapi.h
↓
X
📁 gssrpc/
X
📁 harfbuzz/
X
📄 iconv.h
↓
X
📄 idn-free.h
↓
X
📄 idn-int.h
↓
X
📄 idna.h
↓
X
📄 ieee754.h
↓
X
📄 ifaddrs.h
↓
X
📄 inttypes.h
↓
X
📄 jconfig-64.h
↓
X
📄 jconfig.h
↓
X
📄 jerror.h
↓
X
📄 jmorecfg.h
↓
X
📄 jpegint.h
↓
X
📄 jpeglib.h
↓
X
📁 json-c/
X
📁 kadm5/
X
📄 kdb.h
↓
X
📄 keyutils.h
↓
X
📄 krad.h
↓
X
📁 krb5/
X
📄 krb5.h
↓
X
📄 langinfo.h
↓
X
📄 lastlog.h
↓
X
📄 libaio.h
↓
X
📁 libexslt/
X
📄 libgen.h
↓
X
📄 libintl.h
↓
X
📄 liblsapi-sha1.h
↓
X
📁 libltdl/
X
📁 libmount/
X
📁 libpng16/
X
📁 libpq/
X
📄 libpq-events.h
↓
X
📄 libpq-fe.h
↓
X
📁 libxml2/
X
📁 libxslt/
X
📄 limits.h
↓
X
📄 link.h
↓
X
📁 linux/
X
📄 lmdb.h
↓
X
📄 locale.h
↓
X
📄 lsapidef.h
↓
X
📄 lscapi.h
↓
X
📄 lscapi_config.h
↓
X
📄 ltdl.h
↓
X
📁 lve/
X
📁 lzma/
X
📄 lzma.h
↓
X
📄 malloc.h
↓
X
📄 math.h
↓
X
📄 maxminddb.h
↓
X
📄 maxminddb_config-64.h
↓
X
📄 maxminddb_config.h
↓
X
📄 mcheck.h
↓
X
📄 memory.h
↓
X
📄 menu.h
↓
X
📁 misc/
X
📄 mntent.h
↓
X
📄 monetary.h
↓
X
📄 mqueue.h
↓
X
📁 mtd/
X
📁 mysql/
X
📄 nc_tparm.h
↓
X
📁 ncurses/
X
📄 ncurses.h
↓
X
📄 ncurses_dll.h
↓
X
📁 ncursesw/
X
📄 ndbm.h
↓
X
📁 net/
X
📁 netash/
X
📁 netatalk/
X
📁 netax25/
X
📄 netdb.h
↓
X
📁 neteconet/
X
📁 netinet/
X
📁 netipx/
X
📁 netiucv/
X
📁 netpacket/
X
📁 netrom/
X
📁 netrose/
X
📁 nfs/
X
📄 nl_types.h
↓
X
📄 nss.h
↓
X
📄 obstack.h
↓
X
📁 openssl/
X
📄 panel.h
↓
X
📄 paths.h
↓
X
📁 pcp/
X
📄 pcre.h
↓
X
📄 pcre2.h
↓
X
📄 pcre2posix.h
↓
X
📄 pcre_scanner.h
↓
X
📄 pcre_stringpiece.h
↓
X
📄 pcrecpp.h
↓
X
📄 pcrecpparg.h
↓
X
📄 pcreposix.h
↓
X
📄 pg_config-x86_64.h
↓
X
📄 pg_config.h
↓
X
📄 pg_config_ext-x86_64.h
↓
X
📄 pg_config_ext.h
↓
X
📄 pg_config_manual.h
↓
X
📄 pg_config_os.h
↓
X
📁 pgsql/
X
📄 png.h
↓
X
📄 pngconf.h
↓
X
📄 pnglibconf.h
↓
X
📄 poll.h
↓
X
📄 postgres_ext.h
↓
X
📄 powercap.h
↓
X
📄 pr29.h
↓
X
📄 printf.h
↓
X
📄 proc_service.h
↓
X
📄 profile.h
↓
X
📁 proftpd/
X
📁 protobuf-c/
X
📁 protocols/
X
📄 pthread.h
↓
X
📄 pty.h
↓
X
📄 punycode.h
↓
X
📄 pwd.h
↓
X
📁 python3.9/
X
📁 rdma/
X
📄 re_comp.h
↓
X
📄 regex.h
↓
X
📄 regexp.h
↓
X
📄 resolv.h
↓
X
📁 rpc/
X
📄 sched.h
↓
X
📁 scsi/
X
📄 search.h
↓
X
📁 security/
X
📁 selinux/
X
📄 semaphore.h
↓
X
📁 sepol/
X
📄 setjmp.h
↓
X
📄 sgtty.h
↓
X
📄 shadow.h
↓
X
📄 signal.h
↓
X
📁 sound/
X
📄 spawn.h
↓
X
📄 stab.h
↓
X
📄 stdc-predef.h
↓
X
📄 stdint.h
↓
X
📄 stdio.h
↓
X
📄 stdio_ext.h
↓
X
📄 stdlib.h
↓
X
📄 string.h
↓
X
📄 stringprep.h
↓
X
📄 strings.h
↓
X
📁 sys/
X
📄 syscall.h
↓
X
📄 sysexits.h
↓
X
📄 syslog.h
↓
X
📁 sysprof-4/
X
📄 tar.h
↓
X
📄 term.h
↓
X
📄 term_entry.h
↓
X
📄 termcap.h
↓
X
📄 termio.h
↓
X
📄 termios.h
↓
X
📄 tgmath.h
↓
X
📄 thread_db.h
↓
X
📄 threads.h
↓
X
📄 tic.h
↓
X
📄 tiff.h
↓
X
📄 tiffconf-64.h
↓
X
📄 tiffconf.h
↓
X
📄 tiffio.h
↓
X
📄 tiffio.hxx
↓
X
📄 tiffvers.h
↓
X
📄 time.h
↓
X
📄 tld.h
↓
X
📄 ttyent.h
↓
X
📄 uchar.h
↓
X
📄 ucontext.h
↓
X
📄 ulimit.h
↓
X
📄 unctrl.h
↓
X
📁 unicode/
X
📄 unistd.h
↓
X
📄 utime.h
↓
X
📄 utmp.h
↓
X
📄 utmpx.h
↓
X
📄 values.h
↓
X
📄 verto-module.h
↓
X
📄 verto.h
↓
X
📁 video/
X
📄 wait.h
↓
X
📄 wchar.h
↓
X
📄 wctype.h
↓
X
📁 webp/
X
📄 wordexp.h
↓
X
📁 xcb/
X
📁 xen/
X
📄 zconf.h
↓
X
📄 zlib.h
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: maxminddb.h
#ifdef __cplusplus extern "C" { #endif #ifndef MAXMINDDB_H #define MAXMINDDB_H /* Request POSIX.1-2008. However, we want to remain compatible with * POSIX.1-2001 (since we have been historically and see no reason to drop * compatibility). By requesting POSIX.1-2008, we can conditionally use * features provided by that standard if the implementation provides it. We can * check for what the implementation provides by checking the _POSIX_VERSION * macro after including unistd.h. If a feature is in POSIX.1-2008 but not * POSIX.1-2001, check that macro before using the feature (or check for the * feature directly if possible). */ #ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #endif #include "maxminddb_config.h" #include <stdarg.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <sys/types.h> #ifdef _WIN32 #include <winsock2.h> #include <ws2tcpip.h> /* libmaxminddb package version from configure */ #define PACKAGE_VERSION "1.5.2" typedef ADDRESS_FAMILY sa_family_t; #if defined(_MSC_VER) /* MSVC doesn't define signed size_t, copy it from configure */ #define ssize_t SSIZE_T /* MSVC doesn't support restricted pointers */ #define restrict #endif #else #include <netdb.h> #include <netinet/in.h> #include <sys/socket.h> #endif #define MMDB_DATA_TYPE_EXTENDED (0) #define MMDB_DATA_TYPE_POINTER (1) #define MMDB_DATA_TYPE_UTF8_STRING (2) #define MMDB_DATA_TYPE_DOUBLE (3) #define MMDB_DATA_TYPE_BYTES (4) #define MMDB_DATA_TYPE_UINT16 (5) #define MMDB_DATA_TYPE_UINT32 (6) #define MMDB_DATA_TYPE_MAP (7) #define MMDB_DATA_TYPE_INT32 (8) #define MMDB_DATA_TYPE_UINT64 (9) #define MMDB_DATA_TYPE_UINT128 (10) #define MMDB_DATA_TYPE_ARRAY (11) #define MMDB_DATA_TYPE_CONTAINER (12) #define MMDB_DATA_TYPE_END_MARKER (13) #define MMDB_DATA_TYPE_BOOLEAN (14) #define MMDB_DATA_TYPE_FLOAT (15) #define MMDB_RECORD_TYPE_SEARCH_NODE (0) #define MMDB_RECORD_TYPE_EMPTY (1) #define MMDB_RECORD_TYPE_DATA (2) #define MMDB_RECORD_TYPE_INVALID (3) /* flags for open */ #define MMDB_MODE_MMAP (1) #define MMDB_MODE_MASK (7) /* error codes */ #define MMDB_SUCCESS (0) #define MMDB_FILE_OPEN_ERROR (1) #define MMDB_CORRUPT_SEARCH_TREE_ERROR (2) #define MMDB_INVALID_METADATA_ERROR (3) #define MMDB_IO_ERROR (4) #define MMDB_OUT_OF_MEMORY_ERROR (5) #define MMDB_UNKNOWN_DATABASE_FORMAT_ERROR (6) #define MMDB_INVALID_DATA_ERROR (7) #define MMDB_INVALID_LOOKUP_PATH_ERROR (8) #define MMDB_LOOKUP_PATH_DOES_NOT_MATCH_DATA_ERROR (9) #define MMDB_INVALID_NODE_NUMBER_ERROR (10) #define MMDB_IPV6_LOOKUP_IN_IPV4_DATABASE_ERROR (11) #if !(MMDB_UINT128_IS_BYTE_ARRAY) #if MMDB_UINT128_USING_MODE typedef unsigned int mmdb_uint128_t __attribute__((__mode__(TI))); #else typedef unsigned __int128 mmdb_uint128_t; #endif #endif /* This is a pointer into the data section for a given IP address lookup */ typedef struct MMDB_entry_s { const struct MMDB_s *mmdb; uint32_t offset; } MMDB_entry_s; typedef struct MMDB_lookup_result_s { bool found_entry; MMDB_entry_s entry; uint16_t netmask; } MMDB_lookup_result_s; typedef struct MMDB_entry_data_s { bool has_data; union { uint32_t pointer; const char *utf8_string; double double_value; const uint8_t *bytes; uint16_t uint16; uint32_t uint32; int32_t int32; uint64_t uint64; #if MMDB_UINT128_IS_BYTE_ARRAY uint8_t uint128[16]; #else mmdb_uint128_t uint128; #endif bool boolean; float float_value; }; /* This is a 0 if a given entry cannot be found. This can only happen * when a call to MMDB_(v)get_value() asks for hash keys or array * indices that don't exist. */ uint32_t offset; /* This is the next entry in the data section, but it's really only * relevant for entries that part of a larger map or array * struct. There's no good reason for an end user to look at this * directly. */ uint32_t offset_to_next; /* This is only valid for strings, utf8_strings or binary data */ uint32_t data_size; /* This is an MMDB_DATA_TYPE_* constant */ uint32_t type; } MMDB_entry_data_s; /* This is the return type when someone asks for all the entry data in a map or * array */ typedef struct MMDB_entry_data_list_s { MMDB_entry_data_s entry_data; struct MMDB_entry_data_list_s *next; void *pool; } MMDB_entry_data_list_s; typedef struct MMDB_description_s { const char *language; const char *description; } MMDB_description_s; /* WARNING: do not add new fields to this struct without bumping the SONAME. * The struct is allocated by the users of this library and increasing the * size will cause existing users to allocate too little space when the shared * library is upgraded */ typedef struct MMDB_metadata_s { uint32_t node_count; uint16_t record_size; uint16_t ip_version; const char *database_type; struct { size_t count; const char **names; } languages; uint16_t binary_format_major_version; uint16_t binary_format_minor_version; uint64_t build_epoch; struct { size_t count; MMDB_description_s **descriptions; } description; /* See above warning before adding fields */ } MMDB_metadata_s; /* WARNING: do not add new fields to this struct without bumping the SONAME. * The struct is allocated by the users of this library and increasing the * size will cause existing users to allocate too little space when the shared * library is upgraded */ typedef struct MMDB_ipv4_start_node_s { uint16_t netmask; uint32_t node_value; /* See above warning before adding fields */ } MMDB_ipv4_start_node_s; /* WARNING: do not add new fields to this struct without bumping the SONAME. * The struct is allocated by the users of this library and increasing the * size will cause existing users to allocate too little space when the shared * library is upgraded */ typedef struct MMDB_s { uint32_t flags; const char *filename; ssize_t file_size; const uint8_t *file_content; const uint8_t *data_section; uint32_t data_section_size; const uint8_t *metadata_section; uint32_t metadata_section_size; uint16_t full_record_byte_size; uint16_t depth; MMDB_ipv4_start_node_s ipv4_start_node; MMDB_metadata_s metadata; /* See above warning before adding fields */ } MMDB_s; typedef struct MMDB_search_node_s { uint64_t left_record; uint64_t right_record; uint8_t left_record_type; uint8_t right_record_type; MMDB_entry_s left_record_entry; MMDB_entry_s right_record_entry; } MMDB_search_node_s; extern int MMDB_open(const char *const filename, uint32_t flags, MMDB_s *const mmdb); extern MMDB_lookup_result_s MMDB_lookup_string(const MMDB_s *const mmdb, const char *const ipstr, int *const gai_error, int *const mmdb_error); extern MMDB_lookup_result_s MMDB_lookup_sockaddr(const MMDB_s *const mmdb, const struct sockaddr *const sockaddr, int *const mmdb_error); extern int MMDB_read_node(const MMDB_s *const mmdb, uint32_t node_number, MMDB_search_node_s *const node); extern int MMDB_get_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, ...); extern int MMDB_vget_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, va_list va_path); extern int MMDB_aget_value(MMDB_entry_s *const start, MMDB_entry_data_s *const entry_data, const char *const *const path); extern int MMDB_get_metadata_as_entry_data_list( const MMDB_s *const mmdb, MMDB_entry_data_list_s **const entry_data_list); extern int MMDB_get_entry_data_list(MMDB_entry_s *start, MMDB_entry_data_list_s **const entry_data_list); extern void MMDB_free_entry_data_list(MMDB_entry_data_list_s *const entry_data_list); extern void MMDB_close(MMDB_s *const mmdb); extern const char *MMDB_lib_version(void); extern int MMDB_dump_entry_data_list(FILE *const stream, MMDB_entry_data_list_s *const entry_data_list, int indent); extern const char *MMDB_strerror(int error_code); #endif /* MAXMINDDB_H */ #ifdef __cplusplus } #endif
SIMPAN PERUBAHAN