fbfrog command used:
fbfrog qlibc.h -rename_ name -rename_ data -rename_ str -rename_ format -rename_ out -rename_ left -rename_ right -rename_ next -rename_ get -rename_ clear -rename_ lock -rename_ unlock -rename_ put -rename_ type
qlibc.bi
Code: Select all
#pragma once
#include once "crt/long.bi"
#include once "crt/stdio.bi"
#include once "crt/stdlib.bi"
#include once "stdbool.bi"
#include once "crt/stdint.bi"
#include once "crt/sys/types.bi"
#include once "netinet/in.bi"
#include once "crt/time.bi"
extern "C"
#define QLIBC_H
#define QTREETBL_H
type qtreetbl_t as qtreetbl_s
type qtreetbl_obj_t as qtreetbl_obj_s
enum
QTREETBL_THREADSAFE = &h01
end enum
declare function qtreetbl(byval options as long) as qtreetbl_t ptr
declare sub qtreetbl_set_compare(byval tbl as qtreetbl_t ptr, byval cmp as function(byval name1 as const any ptr, byval namesize1 as uinteger, byval name2 as const any ptr, byval namesize2 as uinteger) as long)
declare function qtreetbl_put(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval data_ as const any ptr, byval datasize as uinteger) as bool
declare function qtreetbl_putstr(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval str_ as const zstring ptr) as bool
declare function qtreetbl_putstrf(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
declare function qtreetbl_put_by_obj(byval tbl as qtreetbl_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval data_ as const any ptr, byval datasize as uinteger) as bool
declare function qtreetbl_get(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval datasize as uinteger ptr, byval newmem as bool) as any ptr
declare function qtreetbl_getstr(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval newmem as const bool) as zstring ptr
declare function qtreetbl_get_by_obj(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval namesize as uinteger, byval datasize as uinteger ptr, byval newmem as bool) as any ptr
declare function qtreetbl_remove(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr) as bool
declare function qtreetbl_remove_by_obj(byval tbl as qtreetbl_t ptr, byval name_ as const any ptr, byval namesize as uinteger) as bool
declare function qtreetbl_getnext(byval tbl as qtreetbl_t ptr, byval obj as qtreetbl_obj_t ptr, byval newmem as const bool) as bool
declare function qtreetbl_find_min(byval tbl as qtreetbl_t ptr, byval namesize as uinteger ptr) as any ptr
declare function qtreetbl_find_max(byval tbl as qtreetbl_t ptr, byval namesize as uinteger ptr) as any ptr
declare function qtreetbl_find_nearest(byval tbl as qtreetbl_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval newmem as bool) as qtreetbl_obj_t
declare function qtreetbl_size(byval tbl as qtreetbl_t ptr) as uinteger
declare sub qtreetbl_clear(byval tbl as qtreetbl_t ptr)
declare sub qtreetbl_lock(byval tbl as qtreetbl_t ptr)
declare sub qtreetbl_unlock(byval tbl as qtreetbl_t ptr)
declare sub qtreetbl_free(byval tbl as qtreetbl_t ptr)
declare function qtreetbl_byte_cmp(byval name1 as const any ptr, byval namesize1 as uinteger, byval name2 as const any ptr, byval namesize2 as uinteger) as long
declare function qtreetbl_debug(byval tbl as qtreetbl_t ptr, byval out_ as FILE ptr) as bool
declare function qtreetbl_check(byval tbl as qtreetbl_t ptr) as long
type qtreetbl_s
set_compare as sub(byval tbl as qtreetbl_t ptr, byval cmp as function(byval name1 as const any ptr, byval namesize1 as uinteger, byval name2 as const any ptr, byval namesize2 as uinteger) as long)
put_ as function(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval data_ as const any ptr, byval size as uinteger) as bool
putstr as function(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval str_ as const zstring ptr) as bool
putstrf as function(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
put_by_obj as function(byval tbl as qtreetbl_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval data_ as const any ptr, byval datasize as uinteger) as bool
get_ as function(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval datasize as uinteger ptr, byval newmem as bool) as any ptr
getstr as function(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval newmem as bool) as zstring ptr
get_by_obj as function(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr, byval namesize as uinteger, byval datasize as uinteger ptr, byval newmem as bool) as any ptr
remove as function(byval tbl as qtreetbl_t ptr, byval name_ as const zstring ptr) as bool
remove_by_obj as function(byval tbl as qtreetbl_t ptr, byval name_ as const any ptr, byval namesize as uinteger) as bool
getnext as function(byval tbl as qtreetbl_t ptr, byval obj as qtreetbl_obj_t ptr, byval newmem as const bool) as bool
find_min as function(byval tbl as qtreetbl_t ptr, byval namesize as uinteger ptr) as any ptr
find_max as function(byval tbl as qtreetbl_t ptr, byval namesize as uinteger ptr) as any ptr
find_nearest as function(byval tbl as qtreetbl_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval newmem as bool) as qtreetbl_obj_t
size as function(byval tbl as qtreetbl_t ptr) as uinteger
clear_ as sub(byval tbl as qtreetbl_t ptr)
debug as function(byval tbl as qtreetbl_t ptr, byval out_ as FILE ptr) as bool
lock_ as sub(byval tbl as qtreetbl_t ptr)
unlock_ as sub(byval tbl as qtreetbl_t ptr)
free as sub(byval tbl as qtreetbl_t ptr)
compare as function(byval name1 as const any ptr, byval namesize1 as uinteger, byval name2 as const any ptr, byval namesize2 as uinteger) as long
qmutex as any ptr
root as qtreetbl_obj_t ptr
num as uinteger
tid as ubyte
end type
type qtreetbl_obj_s
name_ as any ptr
namesize as uinteger
data_ as any ptr
datasize as uinteger
red as bool
left_ as qtreetbl_obj_t ptr
right_ as qtreetbl_obj_t ptr
next_ as qtreetbl_obj_t ptr
tid as ubyte
end type
#define QHASHTBL_H
type qhashtbl_t as qhashtbl_s
type qhashtbl_obj_t as qhashtbl_obj_s
enum
QHASHTBL_THREADSAFE = &h01
end enum
declare function qhashtbl(byval range as uinteger, byval options as long) as qhashtbl_t ptr
declare function qhashtbl_put(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval data_ as const any ptr, byval size as uinteger) as bool
declare function qhashtbl_putstr(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval str_ as const zstring ptr) as bool
declare function qhashtbl_putstrf(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
declare function qhashtbl_putint(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval num as longint) as bool
declare function qhashtbl_get(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qhashtbl_getstr(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval newmem as bool) as zstring ptr
declare function qhashtbl_getint(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr) as longint
declare function qhashtbl_remove(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr) as bool
declare function qhashtbl_getnext(byval tbl as qhashtbl_t ptr, byval obj as qhashtbl_obj_t ptr, byval newmem as bool) as bool
declare function qhashtbl_size(byval tbl as qhashtbl_t ptr) as uinteger
declare sub qhashtbl_clear(byval tbl as qhashtbl_t ptr)
declare function qhashtbl_debug(byval tbl as qhashtbl_t ptr, byval out_ as FILE ptr) as bool
declare sub qhashtbl_lock(byval tbl as qhashtbl_t ptr)
declare sub qhashtbl_unlock(byval tbl as qhashtbl_t ptr)
declare sub qhashtbl_free(byval tbl as qhashtbl_t ptr)
type qhashtbl_s
put_ as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval data_ as const any ptr, byval size as uinteger) as bool
putstr as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval str_ as const zstring ptr) as bool
putstrf as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
putint as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval num as const longint) as bool
get_ as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
getstr as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr, byval newmem as bool) as zstring ptr
getint as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr) as longint
remove as function(byval tbl as qhashtbl_t ptr, byval name_ as const zstring ptr) as bool
getnext as function(byval tbl as qhashtbl_t ptr, byval obj as qhashtbl_obj_t ptr, byval newmem as bool) as bool
size as function(byval tbl as qhashtbl_t ptr) as uinteger
clear_ as sub(byval tbl as qhashtbl_t ptr)
debug as function(byval tbl as qhashtbl_t ptr, byval out_ as FILE ptr) as bool
lock_ as sub(byval tbl as qhashtbl_t ptr)
unlock_ as sub(byval tbl as qhashtbl_t ptr)
free as sub(byval tbl as qhashtbl_t ptr)
qmutex as any ptr
num as uinteger
range as uinteger
slots as qhashtbl_obj_t ptr ptr
end type
type qhashtbl_obj_s
hash as ulong
name_ as zstring ptr
data_ as any ptr
size as uinteger
next_ as qhashtbl_obj_t ptr
end type
#define QHASHARR_H
const Q_HASHARR_NAMESIZE = 16
const Q_HASHARR_DATASIZE = 32
type qhasharr_t as qhasharr_s
type qhasharr_slot_t as qhasharr_slot_s
type qhasharr_data_t as qhasharr_data_s
type qhasharr_obj_t as qhasharr_obj_s
declare function qhasharr(byval memory as any ptr, byval memsize as uinteger) as qhasharr_t ptr
declare function qhasharr_calculate_memsize(byval max as long) as uinteger
declare function qhasharr_put(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval value as const any ptr, byval size as uinteger) as bool
declare function qhasharr_putstr(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval str_ as const zstring ptr) as bool
declare function qhasharr_putstrf(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
declare function qhasharr_put_by_obj(byval tbl as qhasharr_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval data_ as const any ptr, byval datasize as uinteger) as bool
declare function qhasharr_get(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval size as uinteger ptr) as any ptr
declare function qhasharr_getstr(byval tbl as qhasharr_t ptr, byval key as const zstring ptr) as zstring ptr
declare function qhasharr_get_by_obj(byval tbl as qhasharr_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval datasize as uinteger ptr) as any ptr
declare function qhasharr_remove(byval tbl as qhasharr_t ptr, byval key as const zstring ptr) as bool
declare function qhasharr_remove_by_obj(byval tbl as qhasharr_t ptr, byval name_ as const zstring ptr, byval namesize as uinteger) as bool
declare function qhasharr_remove_by_idx(byval tbl as qhasharr_t ptr, byval idx as long) as bool
declare function qhasharr_getnext(byval tbl as qhasharr_t ptr, byval obj as qhasharr_obj_t ptr, byval idx as long ptr) as bool
declare function qhasharr_size(byval tbl as qhasharr_t ptr, byval maxslots as long ptr, byval usedslots as long ptr) as long
declare sub qhasharr_clear(byval tbl as qhasharr_t ptr)
declare function qhasharr_debug(byval tbl as qhasharr_t ptr, byval out_ as FILE ptr) as bool
declare sub qhasharr_free(byval tbl as qhasharr_t ptr)
type qhasharr_s
put_ as function(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval value as const any ptr, byval size as uinteger) as bool
putstr as function(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval str_ as const zstring ptr) as bool
putstrf as function(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
put_by_obj as function(byval tbl as qhasharr_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval data_ as const any ptr, byval datasize as uinteger) as bool
get_ as function(byval tbl as qhasharr_t ptr, byval key as const zstring ptr, byval size as uinteger ptr) as any ptr
getstr as function(byval tbl as qhasharr_t ptr, byval key as const zstring ptr) as zstring ptr
get_by_obj as function(byval tbl as qhasharr_t ptr, byval name_ as const any ptr, byval namesize as uinteger, byval datasize as uinteger ptr) as any ptr
remove as function(byval tbl as qhasharr_t ptr, byval key as const zstring ptr) as bool
remove_by_obj as function(byval tbl as qhasharr_t ptr, byval name_ as const zstring ptr, byval namesize as uinteger) as bool
remove_by_idx as function(byval tbl as qhasharr_t ptr, byval idx as long) as bool
getnext as function(byval tbl as qhasharr_t ptr, byval obj as qhasharr_obj_t ptr, byval idx as long ptr) as bool
size as function(byval tbl as qhasharr_t ptr, byval maxslots as long ptr, byval usedslots as long ptr) as long
clear_ as sub(byval tbl as qhasharr_t ptr)
debug as function(byval tbl as qhasharr_t ptr, byval out_ as FILE ptr) as bool
free as sub(byval tbl as qhasharr_t ptr)
data_ as qhasharr_data_t ptr
end type
type Q_HASHARR_SLOT_KEYVAL
data_(0 to 31) as ubyte
name_(0 to 15) as ubyte
namesize as ushort
namemd5(0 to 15) as ubyte
end type
type Q_HASHARR_SLOT_EXT
data_(0 to sizeof(Q_HASHARR_SLOT_KEYVAL) - 1) as ubyte
end type
union qhasharr_slot_s_data
pair as Q_HASHARR_SLOT_KEYVAL
ext as Q_HASHARR_SLOT_EXT
end union
type qhasharr_slot_s
count as short
hash as ulong
datasize as ubyte
link as long
data_ as qhasharr_slot_s_data
end type
type qhasharr_data_s
maxslots as long
usedslots as long
num as long
end type
type qhasharr_obj_s
name_ as any ptr
namesize as uinteger
data_ as any ptr
datasize as uinteger
end type
#define QLISTTBL_H
type qlisttbl_t as qlisttbl_s
type qlisttbl_obj_t as qlisttbl_obj_s
type qlisttbl_data_t as qlisttbl_data_s
enum
QLISTTBL_THREADSAFE = &h01
QLISTTBL_UNIQUE = &h01 shl 1
QLISTTBL_CASEINSENSITIVE = &h01 shl 2
QLISTTBL_INSERTTOP = &h01 shl 3
QLISTTBL_LOOKUPFORWARD = &h01 shl 4
end enum
declare function qlisttbl(byval options as long) as qlisttbl_t ptr
declare function qlisttbl_put(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval data_ as const any ptr, byval size as uinteger) as bool
declare function qlisttbl_putstr(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval str_ as const zstring ptr) as bool
declare function qlisttbl_putstrf(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
declare function qlisttbl_putint(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval num as longint) as bool
declare function qlisttbl_get(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qlisttbl_getstr(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval newmem as bool) as zstring ptr
declare function qlisttbl_getint(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr) as longint
declare function qlisttbl_getmulti(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval newmem as bool, byval numobjs as uinteger ptr) as qlisttbl_data_t ptr
declare sub qlisttbl_freemulti(byval objs as qlisttbl_data_t ptr)
declare function qlisttbl_remove(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr) as uinteger
declare function qlisttbl_removeobj(byval tbl as qlisttbl_t ptr, byval obj as const qlisttbl_obj_t ptr) as bool
declare function qlisttbl_getnext(byval tbl as qlisttbl_t ptr, byval obj as qlisttbl_obj_t ptr, byval name_ as const zstring ptr, byval newmem as bool) as bool
declare function qlisttbl_size(byval tbl as qlisttbl_t ptr) as uinteger
declare sub qlisttbl_sort(byval tbl as qlisttbl_t ptr)
declare sub qlisttbl_clear(byval tbl as qlisttbl_t ptr)
declare function qlisttbl_save(byval tbl as qlisttbl_t ptr, byval filepath as const zstring ptr, byval sepchar as byte, byval encode as bool) as bool
declare function qlisttbl_load(byval tbl as qlisttbl_t ptr, byval filepath as const zstring ptr, byval sepchar as byte, byval decode as bool) as integer
declare function qlisttbl_debug(byval tbl as qlisttbl_t ptr, byval out_ as FILE ptr) as bool
declare sub qlisttbl_lock(byval tbl as qlisttbl_t ptr)
declare sub qlisttbl_unlock(byval tbl as qlisttbl_t ptr)
declare sub qlisttbl_free(byval tbl as qlisttbl_t ptr)
type qlisttbl_s
put_ as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval data_ as const any ptr, byval size as uinteger) as bool
putstr as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval str_ as const zstring ptr) as bool
putstrf as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval format_ as const zstring ptr, ...) as bool
putint as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval num as longint) as bool
get_ as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
getstr as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval newmem as bool) as zstring ptr
getint as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr) as longint
getmulti as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr, byval newmem as bool, byval numobjs as uinteger ptr) as qlisttbl_data_t ptr
freemulti as sub(byval objs as qlisttbl_data_t ptr)
remove as function(byval tbl as qlisttbl_t ptr, byval name_ as const zstring ptr) as uinteger
removeobj as function(byval tbl as qlisttbl_t ptr, byval obj as const qlisttbl_obj_t ptr) as bool
getnext as function(byval tbl as qlisttbl_t ptr, byval obj as qlisttbl_obj_t ptr, byval name_ as const zstring ptr, byval newmem as bool) as bool
size as function(byval tbl as qlisttbl_t ptr) as uinteger
sort as sub(byval tbl as qlisttbl_t ptr)
clear_ as sub(byval tbl as qlisttbl_t ptr)
save as function(byval tbl as qlisttbl_t ptr, byval filepath as const zstring ptr, byval sepchar as byte, byval encode as bool) as bool
load as function(byval tbl as qlisttbl_t ptr, byval filepath as const zstring ptr, byval sepchar as byte, byval decode as bool) as integer
debug as function(byval tbl as qlisttbl_t ptr, byval out_ as FILE ptr) as bool
lock_ as sub(byval tbl as qlisttbl_t ptr)
unlock_ as sub(byval tbl as qlisttbl_t ptr)
free as sub(byval tbl as qlisttbl_t ptr)
namematch as function(byval obj as qlisttbl_obj_t ptr, byval name_ as const zstring ptr, byval hash as ulong) as bool
namecmp as function(byval s1 as const zstring ptr, byval s2 as const zstring ptr) as long
unique as bool
caseinsensitive as bool
keepsorted as bool
inserttop as bool
lookupforward as bool
qmutex as any ptr
num as uinteger
first as qlisttbl_obj_t ptr
last as qlisttbl_obj_t ptr
end type
type qlisttbl_obj_s
hash as ulong
name_ as zstring ptr
data_ as any ptr
size as uinteger
prev as qlisttbl_obj_t ptr
next_ as qlisttbl_obj_t ptr
end type
type qlisttbl_data_s
data_ as any ptr
size as uinteger
type_ as ubyte
end type
#define QLIST_H
type qlist_t as qlist_s
type qlist_obj_t as qlist_obj_s
enum
QLIST_THREADSAFE = &h01
end enum
declare function qlist(byval options as long) as qlist_t ptr
declare function qlist_setsize(byval list as qlist_t ptr, byval max as uinteger) as uinteger
declare function qlist_addfirst(byval list as qlist_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
declare function qlist_addlast(byval list as qlist_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
declare function qlist_addat(byval list as qlist_t ptr, byval index as long, byval data_ as const any ptr, byval size as uinteger) as bool
declare function qlist_getfirst(byval list as qlist_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qlist_getlast(byval list as qlist_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qlist_getat(byval list as qlist_t ptr, byval index as long, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qlist_popfirst(byval list as qlist_t ptr, byval size as uinteger ptr) as any ptr
declare function qlist_poplast(byval list as qlist_t ptr, byval size as uinteger ptr) as any ptr
declare function qlist_popat(byval list as qlist_t ptr, byval index as long, byval size as uinteger ptr) as any ptr
declare function qlist_removefirst(byval list as qlist_t ptr) as bool
declare function qlist_removelast(byval list as qlist_t ptr) as bool
declare function qlist_removeat(byval list as qlist_t ptr, byval index as long) as bool
declare function qlist_getnext(byval list as qlist_t ptr, byval obj as qlist_obj_t ptr, byval newmem as bool) as bool
declare function qlist_size(byval list as qlist_t ptr) as uinteger
declare function qlist_datasize(byval list as qlist_t ptr) as uinteger
declare sub qlist_reverse(byval list as qlist_t ptr)
declare sub qlist_clear(byval list as qlist_t ptr)
declare function qlist_toarray(byval list as qlist_t ptr, byval size as uinteger ptr) as any ptr
declare function qlist_tostring(byval list as qlist_t ptr) as zstring ptr
declare function qlist_debug(byval list as qlist_t ptr, byval out_ as FILE ptr) as bool
declare sub qlist_lock(byval list as qlist_t ptr)
declare sub qlist_unlock(byval list as qlist_t ptr)
declare sub qlist_free(byval list as qlist_t ptr)
type qlist_s
setsize as function(byval list as qlist_t ptr, byval max as uinteger) as uinteger
addfirst as function(byval list as qlist_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
addlast as function(byval list as qlist_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
addat as function(byval list as qlist_t ptr, byval index as long, byval data_ as const any ptr, byval size as uinteger) as bool
getfirst as function(byval list as qlist_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
getlast as function(byval list as qlist_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
getat as function(byval list as qlist_t ptr, byval index as long, byval size as uinteger ptr, byval newmem as bool) as any ptr
popfirst as function(byval list as qlist_t ptr, byval size as uinteger ptr) as any ptr
poplast as function(byval list as qlist_t ptr, byval size as uinteger ptr) as any ptr
popat as function(byval list as qlist_t ptr, byval index as long, byval size as uinteger ptr) as any ptr
removefirst as function(byval list as qlist_t ptr) as bool
removelast as function(byval list as qlist_t ptr) as bool
removeat as function(byval list as qlist_t ptr, byval index as long) as bool
getnext as function(byval list as qlist_t ptr, byval obj as qlist_obj_t ptr, byval newmem as bool) as bool
reverse as sub(byval list as qlist_t ptr)
clear_ as sub(byval list as qlist_t ptr)
size as function(byval list as qlist_t ptr) as uinteger
datasize as function(byval list as qlist_t ptr) as uinteger
toarray as function(byval list as qlist_t ptr, byval size as uinteger ptr) as any ptr
tostring as function(byval list as qlist_t ptr) as zstring ptr
debug as function(byval list as qlist_t ptr, byval out_ as FILE ptr) as bool
lock_ as sub(byval list as qlist_t ptr)
unlock_ as sub(byval list as qlist_t ptr)
free as sub(byval list as qlist_t ptr)
qmutex as any ptr
num as uinteger
max as uinteger
datasum as uinteger
first as qlist_obj_t ptr
last as qlist_obj_t ptr
end type
type qlist_obj_s
data_ as any ptr
size as uinteger
prev as qlist_obj_t ptr
next_ as qlist_obj_t ptr
end type
#define QVECTOR_H
type qvector_t as qvector_s
type qvector_obj_t as qvector_obj_s
enum
QVECTOR_THREADSAFE = &h01
QVECTOR_RESIZE_DOUBLE = &h02
QVECTOR_RESIZE_LINEAR = &h04
QVECTOR_RESIZE_EXACT = &h08
end enum
declare function qvector(byval max as uinteger, byval objsize as uinteger, byval options as long) as qvector_t ptr
declare function qvector_addfirst(byval vector as qvector_t ptr, byval data_ as const any ptr) as bool
declare function qvector_addlast(byval vector as qvector_t ptr, byval data_ as const any ptr) as bool
declare function qvector_addat(byval vector as qvector_t ptr, byval index as long, byval data_ as const any ptr) as bool
declare function qvector_getfirst(byval vector as qvector_t ptr, byval newmem as bool) as any ptr
declare function qvector_getlast(byval vector as qvector_t ptr, byval newmem as bool) as any ptr
declare function qvector_getat(byval vector as qvector_t ptr, byval index as long, byval newmem as bool) as any ptr
declare function qvector_setfirst(byval vector as qvector_t ptr, byval data_ as const any ptr) as bool
declare function qvector_setlast(byval vector as qvector_t ptr, byval data_ as const any ptr) as bool
declare function qvector_setat(byval vector as qvector_t ptr, byval index as long, byval data_ as const any ptr) as bool
declare function qvector_popfirst(byval vector as qvector_t ptr) as any ptr
declare function qvector_poplast(byval vector as qvector_t ptr) as any ptr
declare function qvector_popat(byval vector as qvector_t ptr, byval index as long) as any ptr
declare function qvector_removefirst(byval vector as qvector_t ptr) as bool
declare function qvector_removelast(byval vector as qvector_t ptr) as bool
declare function qvector_removeat(byval vector as qvector_t ptr, byval index as long) as bool
declare function qvector_size(byval vector as qvector_t ptr) as uinteger
declare function qvector_resize(byval vector as qvector_t ptr, byval newmax as uinteger) as bool
declare function qvector_toarray(byval vector as qvector_t ptr, byval size as uinteger ptr) as any ptr
declare sub qvector_lock(byval vector as qvector_t ptr)
declare sub qvector_unlock(byval vector as qvector_t ptr)
declare sub qvector_clear(byval vector as qvector_t ptr)
declare function qvector_debug(byval vector as qvector_t ptr, byval out_ as FILE ptr) as bool
declare sub qvector_free(byval vector as qvector_t ptr)
declare sub qvector_reverse(byval vector as qvector_t ptr)
declare function qvector_getnext(byval vector as qvector_t ptr, byval obj as qvector_obj_t ptr, byval newmem as bool) as bool
type qvector_s
addfirst as function(byval vector as qvector_t ptr, byval object as const any ptr) as bool
addlast as function(byval vector as qvector_t ptr, byval data_ as const any ptr) as bool
addat as function(byval vector as qvector_t ptr, byval index as long, byval data_ as const any ptr) as bool
getfirst as function(byval vector as qvector_t ptr, byval newmem as bool) as any ptr
getlast as function(byval vector as qvector_t ptr, byval newmem as bool) as any ptr
getat as function(byval vector as qvector_t ptr, byval index as long, byval newmem as bool) as any ptr
setfirst as function(byval vector as qvector_t ptr, byval data_ as const any ptr) as bool
setlast as function(byval vector as qvector_t ptr, byval data_ as const any ptr) as bool
setat as function(byval vector as qvector_t ptr, byval index as long, byval data_ as const any ptr) as bool
popfirst as function(byval vector as qvector_t ptr) as any ptr
poplast as function(byval vector as qvector_t ptr) as any ptr
popat as function(byval vector as qvector_t ptr, byval index as long) as any ptr
removefirst as function(byval vector as qvector_t ptr) as bool
removelast as function(byval vector as qvector_t ptr) as bool
removeat as function(byval vector as qvector_t ptr, byval index as long) as bool
size as function(byval vector as qvector_t ptr) as uinteger
resize as function(byval vector as qvector_t ptr, byval newmax as uinteger) as bool
toarray as function(byval vector as qvector_t ptr, byval size as uinteger ptr) as any ptr
lock_ as sub(byval vector as qvector_t ptr)
unlock_ as sub(byval vector as qvector_t ptr)
clear_ as sub(byval vector as qvector_t ptr)
debug as function(byval vector as qvector_t ptr, byval out_ as FILE ptr) as bool
free as sub(byval vector as qvector_t ptr)
reverse as sub(byval vector as qvector_t ptr)
getnext as function(byval vector as qvector_t ptr, byval obj as qvector_obj_t ptr, byval newmem as bool) as bool
qmutex as any ptr
data_ as any ptr
num as uinteger
objsize as uinteger
max as uinteger
options as long
initnum as uinteger
end type
type qvector_obj_s
data_ as any ptr
index as long
end type
#define QQUEUE_H
type qqueue_t as qqueue_s
enum
QQUEUE_THREADSAFE = QLIST_THREADSAFE
end enum
declare function qqueue(byval options as long) as qqueue_t ptr
declare function qqueue_setsize(byval queue as qqueue_t ptr, byval max as uinteger) as uinteger
declare function qqueue_push(byval queue as qqueue_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
declare function qqueue_pushstr(byval queue as qqueue_t ptr, byval str_ as const zstring ptr) as bool
declare function qqueue_pushint(byval queue as qqueue_t ptr, byval num as longint) as bool
declare function qqueue_pop(byval queue as qqueue_t ptr, byval size as uinteger ptr) as any ptr
declare function qqueue_popstr(byval queue as qqueue_t ptr) as zstring ptr
declare function qqueue_popint(byval queue as qqueue_t ptr) as longint
declare function qqueue_popat(byval queue as qqueue_t ptr, byval index as long, byval size as uinteger ptr) as any ptr
declare function qqueue_get(byval queue as qqueue_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qqueue_getstr(byval queue as qqueue_t ptr) as zstring ptr
declare function qqueue_getint(byval queue as qqueue_t ptr) as longint
declare function qqueue_getat(byval queue as qqueue_t ptr, byval index as long, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qqueue_size(byval queue as qqueue_t ptr) as uinteger
declare sub qqueue_clear(byval queue as qqueue_t ptr)
declare function qqueue_debug(byval queue as qqueue_t ptr, byval out_ as FILE ptr) as bool
declare sub qqueue_free(byval queue as qqueue_t ptr)
type qqueue_s
setsize as function(byval stack as qqueue_t ptr, byval max as uinteger) as uinteger
push as function(byval stack as qqueue_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
pushstr as function(byval stack as qqueue_t ptr, byval str_ as const zstring ptr) as bool
pushint as function(byval stack as qqueue_t ptr, byval num as longint) as bool
pop as function(byval stack as qqueue_t ptr, byval size as uinteger ptr) as any ptr
popstr as function(byval stack as qqueue_t ptr) as zstring ptr
popint as function(byval stack as qqueue_t ptr) as longint
popat as function(byval stack as qqueue_t ptr, byval index as long, byval size as uinteger ptr) as any ptr
get_ as function(byval stack as qqueue_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
getstr as function(byval stack as qqueue_t ptr) as zstring ptr
getint as function(byval stack as qqueue_t ptr) as longint
getat as function(byval stack as qqueue_t ptr, byval index as long, byval size as uinteger ptr, byval newmem as bool) as any ptr
size as function(byval stack as qqueue_t ptr) as uinteger
clear_ as sub(byval stack as qqueue_t ptr)
debug as function(byval stack as qqueue_t ptr, byval out_ as FILE ptr) as bool
free as sub(byval stack as qqueue_t ptr)
list as qlist_t ptr
end type
#define QSTACK_H
type qstack_t as qstack_s
enum
QSTACK_THREADSAFE = QLIST_THREADSAFE
end enum
declare function qstack(byval options as long) as qstack_t ptr
declare function qstack_setsize(byval stack as qstack_t ptr, byval max as uinteger) as uinteger
declare function qstack_push(byval stack as qstack_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
declare function qstack_pushstr(byval stack as qstack_t ptr, byval str_ as const zstring ptr) as bool
declare function qstack_pushint(byval stack as qstack_t ptr, byval num as longint) as bool
declare function qstack_pop(byval stack as qstack_t ptr, byval size as uinteger ptr) as any ptr
declare function qstack_popstr(byval stack as qstack_t ptr) as zstring ptr
declare function qstack_popint(byval stack as qstack_t ptr) as longint
declare function qstack_popat(byval stack as qstack_t ptr, byval index as long, byval size as uinteger ptr) as any ptr
declare function qstack_get(byval stack as qstack_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qstack_getstr(byval stack as qstack_t ptr) as zstring ptr
declare function qstack_getint(byval stack as qstack_t ptr) as longint
declare function qstack_getat(byval stack as qstack_t ptr, byval index as long, byval size as uinteger ptr, byval newmem as bool) as any ptr
declare function qstack_size(byval stack as qstack_t ptr) as uinteger
declare sub qstack_clear(byval stack as qstack_t ptr)
declare function qstack_debug(byval stack as qstack_t ptr, byval out_ as FILE ptr) as bool
declare sub qstack_free(byval stack as qstack_t ptr)
type qstack_s
setsize as function(byval stack as qstack_t ptr, byval max as uinteger) as uinteger
push as function(byval stack as qstack_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
pushstr as function(byval stack as qstack_t ptr, byval str_ as const zstring ptr) as bool
pushint as function(byval stack as qstack_t ptr, byval num as longint) as bool
pop as function(byval stack as qstack_t ptr, byval size as uinteger ptr) as any ptr
popstr as function(byval stack as qstack_t ptr) as zstring ptr
popint as function(byval stack as qstack_t ptr) as longint
popat as function(byval stack as qstack_t ptr, byval index as long, byval size as uinteger ptr) as any ptr
get_ as function(byval stack as qstack_t ptr, byval size as uinteger ptr, byval newmem as bool) as any ptr
getstr as function(byval stack as qstack_t ptr) as zstring ptr
getint as function(byval stack as qstack_t ptr) as longint
getat as function(byval stack as qstack_t ptr, byval index as long, byval size as uinteger ptr, byval newmem as bool) as any ptr
size as function(byval stack as qstack_t ptr) as uinteger
clear_ as sub(byval stack as qstack_t ptr)
debug as function(byval stack as qstack_t ptr, byval out_ as FILE ptr) as bool
free as sub(byval stack as qstack_t ptr)
list as qlist_t ptr
end type
#define QGROW_H
type qgrow_t as qgrow_s
enum
QGROW_THREADSAFE = QLIST_THREADSAFE
end enum
declare function qgrow(byval options as long) as qgrow_t ptr
declare function qgrow_add(byval grow as qgrow_t ptr, byval object as const any ptr, byval size as uinteger) as bool
declare function qgrow_addstr(byval grow as qgrow_t ptr, byval str_ as const zstring ptr) as bool
declare function qgrow_addstrf(byval grow as qgrow_t ptr, byval format_ as const zstring ptr, ...) as bool
declare function qgrow_size(byval grow as qgrow_t ptr) as uinteger
declare function qgrow_datasize(byval grow as qgrow_t ptr) as uinteger
declare function qgrow_toarray(byval grow as qgrow_t ptr, byval size as uinteger ptr) as any ptr
declare function qgrow_tostring(byval grow as qgrow_t ptr) as zstring ptr
declare sub qgrow_clear(byval grow as qgrow_t ptr)
declare function qgrow_debug(byval grow as qgrow_t ptr, byval out_ as FILE ptr) as bool
declare sub qgrow_free(byval grow as qgrow_t ptr)
type qgrow_s
add as function(byval grow as qgrow_t ptr, byval data_ as const any ptr, byval size as uinteger) as bool
addstr as function(byval grow as qgrow_t ptr, byval str_ as const zstring ptr) as bool
addstrf as function(byval grow as qgrow_t ptr, byval format_ as const zstring ptr, ...) as bool
size as function(byval grow as qgrow_t ptr) as uinteger
datasize as function(byval grow as qgrow_t ptr) as uinteger
toarray as function(byval grow as qgrow_t ptr, byval size as uinteger ptr) as any ptr
tostring as function(byval grow as qgrow_t ptr) as zstring ptr
clear_ as sub(byval grow as qgrow_t ptr)
debug as function(byval grow as qgrow_t ptr, byval out_ as FILE ptr) as bool
free as sub(byval grow as qgrow_t ptr)
list as qlist_t ptr
end type
#define QCOUNT_H
declare function qcount_read(byval filepath as const zstring ptr) as longint
declare function qcount_save(byval filepath as const zstring ptr, byval number as longint) as bool
declare function qcount_update(byval filepath as const zstring ptr, byval number as longint) as longint
#define QENCODE_H
declare function qparse_queries(byval tbl as qlisttbl_t ptr, byval query as const zstring ptr, byval equalchar as byte, byval sepchar as byte, byval count as long ptr) as qlisttbl_t ptr
declare function qurl_encode(byval bin as const any ptr, byval size as uinteger) as zstring ptr
declare function qurl_decode(byval str_ as zstring ptr) as uinteger
declare function qbase64_encode(byval bin as const any ptr, byval size as uinteger) as zstring ptr
declare function qbase64_decode(byval str_ as zstring ptr) as uinteger
declare function qhex_encode(byval bin as const any ptr, byval size as uinteger) as zstring ptr
declare function qhex_decode(byval str_ as zstring ptr) as uinteger
#define QFILE_H
declare function qfile_lock(byval fd as long) as bool
declare function qfile_unlock(byval fd as long) as bool
declare function qfile_exist(byval filepath as const zstring ptr) as bool
declare function qfile_load(byval filepath as const zstring ptr, byval nbytes as uinteger ptr) as any ptr
declare function qfile_read(byval fp as FILE ptr, byval nbytes as uinteger ptr) as any ptr
declare function qfile_save(byval filepath as const zstring ptr, byval buf as const any ptr, byval size as uinteger, byval append as bool) as integer
declare function qfile_mkdir(byval dirpath as const zstring ptr, byval mode as mode_t, byval recursive as bool) as bool
declare function qfile_get_name(byval filepath as const zstring ptr) as zstring ptr
declare function qfile_get_dir(byval filepath as const zstring ptr) as zstring ptr
declare function qfile_get_ext(byval filepath as const zstring ptr) as zstring ptr
declare function qfile_get_size(byval filepath as const zstring ptr) as off_t
declare function qfile_check_path(byval path as const zstring ptr) as bool
declare function qfile_correct_path(byval path as zstring ptr) as zstring ptr
declare function qfile_abspath(byval buf as zstring ptr, byval bufsize as uinteger, byval path as const zstring ptr) as zstring ptr
#define QHASH_H
declare function qhashmd5(byval data_ as const any ptr, byval nbytes as uinteger, byval retbuf as any ptr) as bool
declare function qhashmd5_file(byval filepath as const zstring ptr, byval offset as off_t, byval nbytes as integer, byval retbuf as any ptr) as bool
declare function qhashfnv1_32(byval data_ as const any ptr, byval nbytes as uinteger) as ulong
declare function qhashfnv1_64(byval data_ as const any ptr, byval nbytes as uinteger) as ulongint
declare function qhashmurmur3_32(byval data_ as const any ptr, byval nbytes as uinteger) as ulong
declare function qhashmurmur3_128(byval data_ as const any ptr, byval nbytes as uinteger, byval retbuf as any ptr) as bool
#define QIO_H
declare function qio_wait_readable(byval fd as long, byval timeoutms as long) as long
declare function qio_wait_writable(byval fd as long, byval timeoutms as long) as long
declare function qio_read(byval fd as long, byval buf as any ptr, byval nbytes as uinteger, byval timeoutms as long) as integer
declare function qio_write(byval fd as long, byval data_ as const any ptr, byval nbytes as uinteger, byval timeoutms as long) as integer
declare function qio_send(byval outfd as long, byval infd as long, byval nbytes as off_t, byval timeoutms as long) as off_t
declare function qio_gets(byval fd as long, byval buf as zstring ptr, byval bufsize as uinteger, byval timeoutms as long) as integer
declare function qio_puts(byval fd as long, byval str_ as const zstring ptr, byval timeoutms as long) as integer
declare function qio_printf(byval fd as long, byval timeoutms as long, byval format_ as const zstring ptr, ...) as integer
#define QSOCKET_H
declare function qsocket_open(byval hostname as const zstring ptr, byval port as long, byval timeoutms as long) as long
declare function qsocket_close(byval sockfd as long, byval timeoutms as long) as bool
declare function qsocket_get_addr(byval addr as sockaddr_in ptr, byval hostname as const zstring ptr, byval port as long) as bool
declare function qsocket_get_localaddr(byval buf as zstring ptr, byval bufsize as uinteger) as zstring ptr
#define QSTRING_H
declare function qstrtrim(byval str_ as zstring ptr) as zstring ptr
declare function qstrtrim_head(byval str_ as zstring ptr) as zstring ptr
declare function qstrtrim_tail(byval str_ as zstring ptr) as zstring ptr
declare function qstrunchar(byval str_ as zstring ptr, byval head as byte, byval tail as byte) as zstring ptr
declare function qstrreplace(byval mode as const zstring ptr, byval srcstr as zstring ptr, byval tokstr as const zstring ptr, byval word as const zstring ptr) as zstring ptr
declare function qstrcpy(byval dst as zstring ptr, byval size as uinteger, byval src as const zstring ptr) as zstring ptr
declare function qstrncpy(byval dst as zstring ptr, byval size as uinteger, byval src as const zstring ptr, byval nbytes as uinteger) as zstring ptr
declare function qstrdupf(byval format_ as const zstring ptr, ...) as zstring ptr
declare function qstrdup_between(byval str_ as const zstring ptr, byval start as const zstring ptr, byval end as const zstring ptr) as zstring ptr
declare function qmemdup(byval data_ as const any ptr, byval size as uinteger) as any ptr
declare function qstrcatf(byval str_ as zstring ptr, byval format_ as const zstring ptr, ...) as zstring ptr
declare function qstrgets(byval buf as zstring ptr, byval size as uinteger, byval offset as zstring ptr ptr) as zstring ptr
declare function qstrrev(byval str_ as zstring ptr) as zstring ptr
declare function qstrupper(byval str_ as zstring ptr) as zstring ptr
declare function qstrlower(byval str_ as zstring ptr) as zstring ptr
declare function qstrtok(byval str_ as zstring ptr, byval delimiters as const zstring ptr, byval retstop as zstring ptr, byval offset as long ptr) as zstring ptr
declare function qstrtokenizer(byval str_ as const zstring ptr, byval delimiters as const zstring ptr) as qlist_t ptr
declare function qstrunique(byval seed as const zstring ptr) as zstring ptr
declare function qstr_comma_number(byval number as long) as zstring ptr
declare function qstrtest(byval testfunc as function(byval as long) as long, byval str_ as const zstring ptr) as bool
declare function qstr_is_email(byval email as const zstring ptr) as bool
declare function qstr_is_ip4addr(byval str_ as const zstring ptr) as bool
declare function qstr_conv_encoding(byval fromstr as const zstring ptr, byval fromcode as const zstring ptr, byval tocode as const zstring ptr, byval mag as single) as zstring ptr
#define QSYSTEM_H
declare function qgetenv(byval envname as const zstring ptr, byval nullstr as const zstring ptr) as const zstring ptr
declare function qsyscmd(byval cmd as const zstring ptr) as zstring ptr
#define QTIME_H
declare sub qtime_timespec_diff(byval t1 as timespec, byval t2 as timespec, byval diff as timespec ptr)
declare sub qtime_timeval_diff(byval t1 as timeval, byval t2 as timeval, byval diff as timeval ptr)
declare function qtime_current_milli() as clong
declare function qtime_localtime_strf(byval buf as zstring ptr, byval size as long, byval utctime as time_t, byval format_ as const zstring ptr) as zstring ptr
declare function qtime_localtime_str(byval utctime as time_t) as zstring ptr
declare function qtime_localtime_staticstr(byval utctime as time_t) as const zstring ptr
declare function qtime_gmt_strf(byval buf as zstring ptr, byval size as long, byval utctime as time_t, byval format_ as const zstring ptr) as zstring ptr
declare function qtime_gmt_str(byval utctime as time_t) as zstring ptr
declare function qtime_gmt_staticstr(byval utctime as time_t) as const zstring ptr
declare function qtime_parse_gmtstr(byval gmtstr as const zstring ptr) as time_t
#define QSEM_H
declare function qsem_init(byval keyfile as const zstring ptr, byval keyid as long, byval nsems as long, byval recreate as bool) as long
declare function qsem_getid(byval keyfile as const zstring ptr, byval keyid as long) as long
declare function qsem_enter(byval semid as long, byval semno as long) as bool
declare function qsem_enter_nowait(byval semid as long, byval semno as long) as bool
declare function qsem_enter_force(byval semid as long, byval semno as long, byval maxwaitms as long, byval forceflag as bool ptr) as bool
declare function qsem_leave(byval semid as long, byval semno as long) as bool
declare function qsem_check(byval semid as long, byval semno as long) as bool
declare function qsem_free(byval semid as long) as bool
#define QSHM_H
declare function qshm_init(byval keyfile as const zstring ptr, byval keyid as long, byval size as uinteger, byval recreate as bool) as long
declare function qshm_getid(byval keyfile as const zstring ptr, byval keyid as long) as long
declare function qshm_get(byval shmid as long) as any ptr
declare function qshm_free(byval shmid as long) as bool
end extern