Defines | Functions | Variables

ext/sdbm/_sdbm.c File Reference

#include "ruby/config.h"
#include "ruby/defines.h"
#include "sdbm.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
Include dependency graph for _sdbm.c:

Go to the source code of this file.

Defines

#define BYTESIZ   8
#define SEEDUPS
#define BADMESS
#define debug(x)
#define GET_SHORT(p, i)   ((p)[i])
#define PUT_SHORT(p, i, s)   ((p)[i] = (s))
#define O_BINARY   0
#define EPERM   EACCES
#define NULL   0
#define bad(x)   ((x).dptr == NULL || (x).dsize < 0)
#define exhash(item)   sdbm_hash((item).dptr, (item).dsize)
#define ioerr(db)   ((db)->flags |= DBM_IOERR)
#define OFF_PAG(off)   (long) (off) * PBLKSIZ
#define OFF_DIR(off)   (long) (off) * DBLKSIZ
#define exhash(item)   sdbm_hash((item).dptr, (item).dsize)

Functions

static int fitpair proto ((char *, int))
static void putpair proto ((char *, datum, datum))
static datum getpair proto ((char *, datum))
static int chkpage proto ((char *))
static void splpage proto ((char *, char *, long))
static int getdbit proto ((DBM *, long))
static datum getnext proto ((DBM *))
static int makroom proto ((DBM *, long, int))
DBMsdbm_open (register char *file, register int flags, register int mode)
DBMsdbm_prep (char *dirname, char *pagname, int flags, int mode)
void sdbm_close (register DBM *db)
datum sdbm_fetch (register DBM *db, datum key)
int sdbm_delete (register DBM *db, datum key)
int sdbm_store (register DBM *db, datum key, datum val, int flags)
static int makroom (register DBM *db, long int hash, int need)
datum sdbm_firstkey (register DBM *db)
datum sdbm_nextkey (register DBM *db)
static int getpage (register DBM *db, register long int hash)
static int getdbit (register DBM *db, register long int dbit)
static int setdbit (register DBM *db, register long int dbit)
static datum getnext (register DBM *db)
static int seepair proto ((char *, int, char *, int))
static int fitpair (char *pag, int need)
static void putpair (char *pag, datum key, datum val)
static datum getpair (char *pag, datum key)
static int duppair (char *pag, datum key)
static datum getnkey (char *pag, int num)
static int delpair (char *pag, datum key)
static int seepair (char *pag, register int n, register char *key, register int siz)
static void splpage (char *pag, char *new, long int sbit)
static int chkpage (char *pag)
long sdbm_hash (register char *str, register int len)

Variables

int errno
static long masks []
datum nullitem = {NULL, 0}

Define Documentation

#define bad (   x  )     ((x).dptr == NULL || (x).dsize < 0)
#define BADMESS

Definition at line 43 of file _sdbm.c.

#define BYTESIZ   8

Definition at line 29 of file _sdbm.c.

Referenced by sdbm_prep(), and setdbit().

#define debug (   x  ) 

Definition at line 51 of file _sdbm.c.

Referenced by delpair(), fitpair(), getdbit(), getpage(), Init_syslog(), load_encoding(), makroom(), setdbit(), and splpage().

#define EPERM   EACCES

Definition at line 93 of file _sdbm.c.

Referenced by fdbm_store(), fgdbm_store(), fsdbm_store(), and kill().

#define exhash (   item  )     sdbm_hash((item).dptr, (item).dsize)

Definition at line 610 of file _sdbm.c.

Referenced by sdbm_delete(), sdbm_fetch(), sdbm_store(), and splpage().

#define exhash (   item  )     sdbm_hash((item).dptr, (item).dsize)

Definition at line 610 of file _sdbm.c.

#define GET_SHORT (   p,
  i 
)    ((p)[i])

Definition at line 58 of file _sdbm.c.

Referenced by chkpage(), delpair(), duppair(), fitpair(), getnkey(), getpair(), putpair(), seepair(), and splpage().

#define ioerr (   db  )     ((db)->flags |= DBM_IOERR)

Definition at line 126 of file _sdbm.c.

Referenced by getnext(), sdbm_delete(), sdbm_fetch(), sdbm_firstkey(), and sdbm_store().

#define NULL   0

Definition at line 102 of file _sdbm.c.

Referenced by _nativethread_consistency_check(), _timer_for_tcl(), alias(), allocate(), allocate_cbsubst_info(), allocate_converted_string(), and_code_range_buf(), apply_seq_in_map(), argf_readpartial(), ary2safe_array_index(), asn1integer_to_num(), BIGNUM_1c(), bracket(), BSD__hdtoa(), call_getaddrinfo(), call_original_exit(), catch_interrupt(), cbsubst_init(), check_eventloop_interp(), clear_optimize_info(), clsid_from_remote(), compile_tree(), cParser_parse(), CreateChild(), crypt(), cState_s_allocate(), decode_bool(), decode_bstr(), decode_enum(), decode_int(), decode_null(), decode_obj(), decode_time(), defined_expr(), dh_generate(), dir_each(), dir_initialize(), dln_find_1(), dln_load(), dln_strerror(), do_opendir(), do_select(), do_spawn(), dsa_generate(), DupConfigPtr(), DupPKCS7RecipientPtr(), DupPKCS7SignerPtr(), DupPrivPKeyPtr(), DupX509AttrPtr(), DupX509ExtPtr(), DupX509ReqPtr(), DupX509RevokedPtr(), econv_convert(), econv_description(), econv_finish(), econv_putback(), econv_s_allocate(), econv_s_asciicompat_encoding(), enumerator_each_with_index(), establishShell(), ev_on_event(), eval_under(), EVENTSINK_Constructor(), EVENTSINK_Destructor(), expand_case_fold_string(), expand_case_fold_string_alt(), file_path_convert(), filecp_to_wstr(), fill_cbuf(), fill_random_seed(), find_coclass(), find_default_source(), find_iid(), find_time_t(), finish_writeconv(), flock(), fole_initialize(), folemethod_event_interface(), foletypelib_library_name(), foletypelib_name(), folevariant_ary_aref(), folevariant_ary_aset(), folevariant_s_array(), forward_search_range(), free_any_io(), freeaddrinfo(), get_addr(), get_arglen(), get_device_once(), get_ip(), get_locked_safe_array(), get_special_folder(), getaddrinfo(), GetBNPtr(), getclockofday(), getnameinfo(), getnext(), GetPrivPKeyPtr(), glob_helper(), gmtime_with_leapsecond(), guess_local_offset(), hist_each(), hist_get(), iconv_conv(), iconv_create(), iconv_iconv(), iconv_init_state(), iconv_s_conv(), iconv_s_iconv(), iconv_s_open(), Init_etc(), init_leap_second_info(), Init_process(), Init_Range(), Init_readline(), init_stdhandle(), Init_Time(), installed_code_page_proc(), integer_rationalize(), io_binwrite(), io_encoding_set(), io_fillbuf(), io_ungetbyte(), io_wait(), ip_evloop_abort_on_exc_set(), ip_mainloop(), ip_mainloop_watchdog(), ip_set_eventloop_tick(), ip_set_eventloop_weight(), ip_set_no_event_wait(), is_readable_pipe(), is_socket(), JSON_parse_array(), JSON_parse_object(), JSON_parse_value(), kill(), lib_eventloop_core(), lib_eventloop_ensure(), lib_mainloop(), lib_num_of_mainwindows(), lib_thread_callback(), link(), main(), make_addrinfo(), make_hostent_internal(), make_ipaddr0(), match_at(), maygvl_copy_stream_wait_read(), mktime_do(), mode_enc(), name_add(), nilclass_rationalize(), nkf_xmalloc(), nkf_xrealloc(), node_new_backref(), node_new_empty(), nogvl_copy_stream_wait_write(), not_code_range_buf(), nucomp_rationalize(), num_exact(), num_to_asn1integer(), obj_to_asn1bstr(), obj_to_asn1derstr(), obj_to_asn1gtime(), obj_to_asn1int(), obj_to_asn1null(), obj_to_asn1str(), obj_to_asn1utime(), ole_bind_obj(), ole_cp2encoding(), ole_create_dcom(), ole_each_sub(), ole_excepinfo2msg(), ole_hresult2msg(), ole_initialize(), ole_invoke(), ole_mb2wc(), ole_method_event(), ole_method_helpcontext(), ole_method_helpfile(), ole_method_helpstring(), ole_method_sub(), ole_methods_sub(), ole_msg_loop(), ole_propertyput(), ole_pure_initialize(), ole_set_safe_array(), ole_type_from_itypeinfo(), ole_type_helpcontext(), ole_type_helpfile(), ole_type_helpstring(), ole_types_from_typelib(), ole_usertype2val(), ole_val2olevariantdata(), ole_val_ary2variant_ary(), ole_variant2val(), ole_vstr2wc(), ole_wc2mb(), oleclass_from_typelib(), oletypelib_search_registry(), oletypelib_search_registry2(), onig_chain_reduce(), onig_compile(), onig_names_free(), onig_new(), onig_new_without_alloc(), onig_node_list_add(), onig_search(), onig_syntax_warn(), onigenc_get_right_adjust_char_head_with_prev(), onigenc_step(), open_ifs_socket(), opendir_internal(), or_code_range_buf(), ossl_asn1_decode0(), ossl_asn1data_to_der(), ossl_asn1obj_s_register(), ossl_asn1prim_to_der(), ossl_bn_alloc(), ossl_bn_coerce(), ossl_bn_initialize(), ossl_bn_new(), ossl_bn_to_i(), ossl_bn_to_s(), ossl_cipher_copy(), ossl_cipher_final(), ossl_cipher_init(), ossl_cipher_initialize(), ossl_cipher_new(), ossl_cipher_pkcs5_keyivgen(), ossl_cipher_reset(), ossl_cipher_set_iv(), ossl_cipher_set_key(), ossl_cipher_set_key_length(), ossl_cipher_update(), ossl_config_add_value(), ossl_config_s_alloc(), ossl_config_s_parse(), ossl_create_dh(), ossl_dh_compute_key(), ossl_dh_export(), ossl_dh_initialize(), ossl_dh_new(), ossl_dh_s_generate(), ossl_dh_to_der(), ossl_dh_to_public_key(), ossl_dh_to_text(), ossl_digest_alloc(), ossl_digest_copy(), ossl_digest_finish(), ossl_digest_initialize(), ossl_digest_new(), ossl_digest_reset(), ossl_dsa_export(), ossl_dsa_initialize(), ossl_dsa_new(), ossl_dsa_s_generate(), ossl_dsa_sign(), ossl_dsa_to_der(), ossl_dsa_to_public_key(), ossl_dsa_to_text(), ossl_dsa_verify(), ossl_get_errors(), ossl_hmac_hexdigest(), ossl_hmac_initialize(), ossl_hmac_reset(), ossl_hmac_s_digest(), ossl_hmac_s_hexdigest(), ossl_make_error(), ossl_obj2bio(), ossl_pkcs12_initialize(), ossl_pkcs12_s_allocate(), ossl_pkcs12_s_create(), ossl_pkcs12_to_der(), ossl_pkcs7_add_certificate(), ossl_pkcs7_add_crl(), ossl_pkcs7_add_data(), ossl_pkcs7_alloc(), ossl_pkcs7_copy(), ossl_pkcs7_decrypt(), ossl_pkcs7_initialize(), ossl_pkcs7_s_encrypt(), ossl_pkcs7_s_read_smime(), ossl_pkcs7_s_sign(), ossl_pkcs7_s_write_smime(), ossl_pkcs7_set_cipher(), ossl_pkcs7_set_detached(), ossl_pkcs7_set_type(), ossl_pkcs7_sym2typeid(), ossl_pkcs7_to_der(), ossl_pkcs7_to_pem(), ossl_pkcs7_verify(), ossl_pkcs7ri_alloc(), ossl_pkcs7ri_initialize(), ossl_pkcs7ri_new(), ossl_pkcs7si_alloc(), ossl_pkcs7si_get_signed_time(), ossl_pkcs7si_initialize(), ossl_pkcs7si_new(), ossl_pkey_alloc(), ossl_pkey_new_from_file(), ossl_pkey_sign(), ossl_pkey_verify(), ossl_rand_bytes(), ossl_rand_egd(), ossl_rand_egd_bytes(), ossl_rand_load_file(), ossl_rand_pseudo_bytes(), ossl_rand_write_file(), ossl_rsa_export(), ossl_rsa_initialize(), ossl_rsa_new(), ossl_rsa_private_decrypt(), ossl_rsa_private_encrypt(), ossl_rsa_public_decrypt(), ossl_rsa_public_encrypt(), ossl_rsa_s_generate(), ossl_rsa_to_der(), ossl_rsa_to_public_key(), ossl_rsa_to_text(), ossl_spki_alloc(), ossl_spki_get_public_key(), ossl_spki_initialize(), ossl_spki_print(), ossl_spki_set_challenge(), ossl_spki_set_public_key(), ossl_spki_sign(), ossl_spki_to_der(), ossl_spki_to_pem(), ossl_spki_verify(), ossl_ssl_s_alloc(), ossl_ssl_session_alloc(), ossl_ssl_session_initialize(), ossl_sslctx_add_extra_chain_cert_i(), ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), ossl_sslctx_session_remove_cb(), ossl_sslctx_setup(), ossl_x509_add_extension(), ossl_x509_alloc(), ossl_x509_copy(), ossl_x509_get_issuer(), ossl_x509_get_not_after(), ossl_x509_get_not_before(), ossl_x509_get_public_key(), ossl_x509_get_signature_algorithm(), ossl_x509_get_subject(), ossl_x509_initialize(), ossl_x509_new(), ossl_x509_new_from_file(), ossl_x509_set_extensions(), ossl_x509_set_issuer(), ossl_x509_set_not_after(), ossl_x509_set_not_before(), ossl_x509_set_public_key(), ossl_x509_set_subject(), ossl_x509_set_version(), ossl_x509_sign(), ossl_x509_to_der(), ossl_x509_to_pem(), ossl_x509_to_text(), ossl_x509_verify(), ossl_x509attr_alloc(), ossl_x509attr_get_oid(), ossl_x509attr_get_value(), ossl_x509attr_initialize(), ossl_x509attr_new(), ossl_x509attr_set_oid(), ossl_x509attr_to_der(), ossl_x509crl_add_extension(), ossl_x509crl_add_revoked(), ossl_x509crl_alloc(), ossl_x509crl_copy(), ossl_x509crl_get_signature_algorithm(), ossl_x509crl_initialize(), ossl_x509crl_new(), ossl_x509crl_set_extensions(), ossl_x509crl_set_issuer(), ossl_x509crl_set_last_update(), ossl_x509crl_set_next_update(), ossl_x509crl_set_revoked(), ossl_x509crl_set_version(), ossl_x509crl_sign(), ossl_x509crl_to_der(), ossl_x509crl_to_pem(), ossl_x509crl_to_text(), ossl_x509crl_verify(), ossl_x509ext_alloc(), ossl_x509ext_get_oid(), ossl_x509ext_get_value(), ossl_x509ext_initialize(), ossl_x509ext_new(), ossl_x509ext_set_oid(), ossl_x509ext_set_value(), ossl_x509ext_to_der(), ossl_x509extfactory_create_ext(), ossl_x509name_add_entry(), ossl_x509name_alloc(), ossl_x509name_initialize(), ossl_x509name_new(), ossl_x509name_to_a(), ossl_x509name_to_der(), ossl_x509name_to_s(), ossl_x509name_to_s_old(), ossl_x509req_add_attribute(), ossl_x509req_alloc(), ossl_x509req_copy(), ossl_x509req_get_public_key(), ossl_x509req_get_signature_algorithm(), ossl_x509req_get_subject(), ossl_x509req_initialize(), ossl_x509req_new(), ossl_x509req_set_attributes(), ossl_x509req_set_public_key(), ossl_x509req_set_subject(), ossl_x509req_set_version(), ossl_x509req_sign(), ossl_x509req_to_der(), ossl_x509req_to_pem(), ossl_x509req_to_text(), ossl_x509req_verify(), ossl_x509revoked_add_extension(), ossl_x509revoked_alloc(), ossl_x509revoked_new(), ossl_x509revoked_set_extensions(), ossl_x509revoked_set_time(), ossl_x509stctx_alloc(), ossl_x509stctx_get_chain(), ossl_x509stctx_initialize(), ossl_x509store_add_cert(), ossl_x509store_add_crl(), ossl_x509store_add_file(), ossl_x509store_add_path(), ossl_x509store_alloc(), ossl_x509store_set_default_paths(), overlapped_socket_io(), parse_branch(), parse_char_class(), parse_config(), parse_exp(), parse_posix_bracket(), parse_subexp(), parser_here_document(), PEM_def_callback(), pending_exception_check1(), pipe_open(), prep_window(), print_guessed_code(), proc_exec_v(), r_object0(), range_each(), rb_ary_rotate_bang(), rb_ary_rotate_m(), rb_ary_slice_bang(), rb_backtrace(), rb_backtrace_each(), rb_disable_interrupt(), rb_dl_callback_char_0_0_cdecl(), rb_dl_callback_char_0_1_cdecl(), rb_dl_callback_char_0_2_cdecl(), rb_dl_callback_char_0_3_cdecl(), rb_dl_callback_char_0_4_cdecl(), rb_dl_callback_double_0_0_cdecl(), rb_dl_callback_double_0_1_cdecl(), rb_dl_callback_double_0_2_cdecl(), rb_dl_callback_double_0_3_cdecl(), rb_dl_callback_double_0_4_cdecl(), rb_dl_callback_float_0_0_cdecl(), rb_dl_callback_float_0_1_cdecl(), rb_dl_callback_float_0_2_cdecl(), rb_dl_callback_float_0_3_cdecl(), rb_dl_callback_float_0_4_cdecl(), rb_dl_callback_int_0_0_cdecl(), rb_dl_callback_int_0_1_cdecl(), rb_dl_callback_int_0_2_cdecl(), rb_dl_callback_int_0_3_cdecl(), rb_dl_callback_int_0_4_cdecl(), rb_dl_callback_long_0_0_cdecl(), rb_dl_callback_long_0_1_cdecl(), rb_dl_callback_long_0_2_cdecl(), rb_dl_callback_long_0_3_cdecl(), rb_dl_callback_long_0_4_cdecl(), rb_dl_callback_long_long_0_0_cdecl(), rb_dl_callback_long_long_0_1_cdecl(), rb_dl_callback_long_long_0_2_cdecl(), rb_dl_callback_long_long_0_3_cdecl(), rb_dl_callback_long_long_0_4_cdecl(), rb_dl_callback_ptr_0_0_cdecl(), rb_dl_callback_ptr_0_1_cdecl(), rb_dl_callback_ptr_0_2_cdecl(), rb_dl_callback_ptr_0_3_cdecl(), rb_dl_callback_ptr_0_4_cdecl(), rb_dl_callback_short_0_0_cdecl(), rb_dl_callback_short_0_1_cdecl(), rb_dl_callback_short_0_2_cdecl(), rb_dl_callback_short_0_3_cdecl(), rb_dl_callback_short_0_4_cdecl(), rb_dl_callback_void_0_0_cdecl(), rb_dl_callback_void_0_1_cdecl(), rb_dl_callback_void_0_2_cdecl(), rb_dl_callback_void_0_3_cdecl(), rb_dl_callback_void_0_4_cdecl(), rb_dlcfunc_initialize(), rb_dlhandle_initialize(), rb_dlptr_s_to_ptr(), rb_econv_encoding_to_insert_output(), rb_econv_insert_output(), rb_econv_set_replacement(), rb_enable_interrupt(), rb_enc_reg_error_desc(), rb_enc_reg_new(), rb_enc_str_buf_cat(), rb_exec(), rb_exec_err(), rb_f_backquote(), rb_f_integer(), rb_f_system(), rb_fdopen(), rb_file_open_generic(), rb_file_open_internal(), rb_iconv_sys_fail(), rb_io_ext_int_to_encs(), rb_io_extract_encoding_option(), rb_io_extract_modeenc(), rb_io_reopen(), rb_io_s_binread(), rb_io_s_foreach(), rb_io_s_read(), rb_io_s_readlines(), rb_io_wait_readable(), rb_io_wait_writable(), rb_nkf_convert(), rb_nkf_guess(), rb_parser_free(), rb_parser_realloc(), rb_proc_exec(), rb_reg_desc(), rb_reg_init_copy(), rb_reg_init_str(), rb_reg_initialize_m(), rb_reg_to_s(), rb_remove_event_hook(), rb_run_exec_options(), rb_spawn(), rb_spawn_process(), rb_str_inspect(), rb_str_rstrip_bang(), rb_strftime(), rb_strftime_with_timespec(), rb_struct_define_without_accessor(), rb_syck_compile(), rb_syck_io_str_read(), rb_syck_load_handler(), rb_syck_mktime(), rb_threadptr_exec_event_hooks(), rb_trans_conv(), rb_trap_restore_mask(), rb_vsprintf(), rb_w32_accept(), rb_w32_aspawn(), rb_w32_asynchronize(), rb_w32_close(), rb_w32_getcwd(), rb_w32_gethostbyaddr(), rb_w32_gethostbyname(), rb_w32_getppid(), rb_w32_getprotobyname(), rb_w32_getprotobynumber(), rb_w32_getservbyname(), rb_w32_getservbyport(), rb_w32_mkdir(), rb_w32_open(), rb_w32_open_osfhandle(), rb_w32_opendir(), rb_w32_pipe(), rb_w32_read(), rb_w32_readdir(), rb_w32_readdir_with_enc(), rb_w32_recv(), rb_w32_rename(), rb_w32_rmdir(), rb_w32_select(), rb_w32_send(), rb_w32_spawn(), rb_w32_stati64(), rb_w32_strerror(), rb_w32_uchdir(), rb_w32_uchmod(), rb_w32_ulink(), rb_w32_umkdir(), rb_w32_unlink(), rb_w32_uopen(), rb_w32_urename(), rb_w32_urmdir(), rb_w32_ustati64(), rb_w32_utime(), rb_w32_uunlink(), rb_w32_uutime(), rb_w32_wopen(), rb_w32_write(), rb_waitpid_blocking(), rbtk_preserve_ip(), rbtk_release_ip(), readline_readline(), recvmsg(), reg_enum_key(), reg_get_val(), reg_get_val2(), RMD160_Finish(), RMD160_Init(), RMD160_Transform(), RMD160_Update(), rsa_generate(), rsock_ipaddr(), run_exec_dup2(), scalar(), scan_env_clear(), sdbm_close(), sdbm_delete(), sdbm_fetch(), sdbm_firstkey(), sdbm_nextkey(), sdbm_open(), sdbm_prep(), sdbm_store(), sendmsg(), set_eventloop_tick(), sock_s_gethostbyaddr(), start_document(), start_mapping(), start_sequence(), strio_seek(), subst_free(), swallow(), syck_add_sym(), syck_add_transfer(), syck_assert(), syck_check_limit(), syck_emit(), syck_emit_scalar(), syck_emit_tag(), syck_emitter_add_level(), syck_emitter_clear(), syck_emitter_mark_node(), syck_emitter_pop_level(), syck_emitter_st_free(), syck_emitter_write(), syck_free_emitter(), syck_free_members(), syck_free_node(), syck_free_parser(), syck_genericresolver_node_import(), syck_hdlr_add_anchor(), syck_hdlr_add_node(), syck_hdlr_get_anchor(), syck_hdlr_remove_anchor(), syck_io_file_read(), syck_io_str_read(), syck_lookup_sym(), syck_map_add(), syck_map_assign(), syck_map_count(), syck_map_empty(), syck_map_read(), syck_map_update(), syck_mark_parser(), syck_move_tokens(), syck_node_transform(), syck_parse(), syck_parser_add_level(), syck_parser_assign_io(), syck_parser_bad_anchor_handler(), syck_parser_error_handler(), syck_parser_file(), syck_parser_handler(), syck_parser_pop_level(), syck_parser_read(), syck_parser_readlen(), syck_parser_reset_cursor(), syck_parser_set_input_type(), syck_parser_str(), syck_replace_str2(), syck_resolver_node_import(), syck_seq_add(), syck_seq_assign(), syck_seq_count(), syck_seq_empty(), syck_seq_read(), syck_st_free(), syck_str_read(), syck_tagcmp(), syck_yaml2byte(), syck_yaml2byte_handler(), syckerror(), sycklex_bytecode_utf8(), sycklex_yaml_utf8(), sym_inspect(), tcl2rb_bool(), tcl2rb_num_or_str(), tcl2rb_string(), thread_create_core(), thread_free(), time_s_now(), time_zone(), timeofday(), tkstr_to_number(), transcode_search_path(), trap_check(), try_tag_implicit(), typeinfo_from_ole(), typelib_file_from_typelib(), usage(), utf8_to_wstr(), val2variant_ptr(), vm_get_ev_const(), VpFree(), VpMult(), VpNumOfChars(), watchdog_evloop_launcher(), WinMain(), wlink(), wmkdir(), wstr_to_filecp(), wstr_to_utf8(), wutime(), X509_CRL_set_issuer_name(), X509_CRL_set_version(), yaml_org_handler(), and yyparse().

#define O_BINARY   0
#define OFF_DIR (   off  )     (long) (off) * DBLKSIZ

Definition at line 129 of file _sdbm.c.

Referenced by getdbit(), and setdbit().

#define OFF_PAG (   off  )     (long) (off) * PBLKSIZ

Definition at line 128 of file _sdbm.c.

Referenced by getnext(), getpage(), makroom(), sdbm_delete(), sdbm_firstkey(), and sdbm_store().

#define PUT_SHORT (   p,
  i,
  s 
)    ((p)[i] = (s))

Definition at line 59 of file _sdbm.c.

Referenced by delpair(), and putpair().

#define SEEDUPS

Definition at line 42 of file _sdbm.c.


Function Documentation

static int chkpage ( char *  pag  )  [static]

Definition at line 858 of file _sdbm.c.

References GET_SHORT, and PBLKSIZ.

Referenced by getnext(), and getpage().

static int delpair ( char *  pag,
datum  key 
) [static]

Definition at line 731 of file _sdbm.c.

References debug, datum::dptr, datum::dsize, GET_SHORT, memmove(), PBLKSIZ, PUT_SHORT, and seepair().

Referenced by sdbm_delete(), and sdbm_store().

static int duppair ( char *  pag,
datum  key 
) [static]

Definition at line 703 of file _sdbm.c.

References datum::dptr, datum::dsize, GET_SHORT, and seepair().

Referenced by sdbm_store().

static int fitpair ( char *  pag,
int  need 
) [static]

Definition at line 638 of file _sdbm.c.

References debug, and GET_SHORT.

Referenced by makroom(), and sdbm_store().

static int getdbit ( register DBM db,
register long int  dbit 
) [static]

Definition at line 508 of file _sdbm.c.

References DBLKSIZ, debug, DBM::dirbno, DBM::dirbuf, DBM::dirf, OFF_DIR, and SEEK_SET.

Referenced by getpage().

static datum getnext ( register DBM db  )  [static]
static datum getnkey ( char *  pag,
int  num 
) [static]

Definition at line 712 of file _sdbm.c.

References datum::dptr, datum::dsize, and GET_SHORT.

Referenced by getnext().

static int getpage ( register DBM db,
register long int  hash 
) [static]
static datum getpair ( char *  pag,
datum  key 
) [static]

Definition at line 683 of file _sdbm.c.

References datum::dptr, datum::dsize, GET_SHORT, and seepair().

Referenced by sdbm_fetch().

static int makroom ( register DBM db,
long int  hash,
int  need 
) [static]
static int makroom proto ( (DBM *, long, int)   )  [static]
static void putpair proto ( (char *, datum, datum  )  [static]
static int chkpage proto ( (char *)   )  [static]
static void splpage proto ( (char *, char *, long)   )  [static]
static int seepair proto ( (char *, int, char *, int)   )  [static]
static int getpage proto ( (DBM *, long)   )  [static]
static datum getnkey proto ( (char *, int)   )  [static]
static int duppair proto ( (char *, datum  )  [static]
static datum getnext proto ( (DBM *)   )  [static]
static void putpair ( char *  pag,
datum  key,
datum  val 
) [static]

Definition at line 655 of file _sdbm.c.

References datum::dptr, datum::dsize, GET_SHORT, and PUT_SHORT.

Referenced by sdbm_store(), and splpage().

void sdbm_close ( register DBM db  ) 

Definition at line 233 of file _sdbm.c.

References DBM::dirf, free, NULL, and DBM::pagf.

Referenced by free_sdbm(), and fsdbm_close().

int sdbm_delete ( register DBM db,
datum  key 
)
datum sdbm_fetch ( register DBM db,
datum  key 
)
datum sdbm_firstkey ( register DBM db  ) 
long sdbm_hash ( register char *  str,
register int  len 
)

Definition at line 898 of file _sdbm.c.

datum sdbm_nextkey ( register DBM db  ) 
DBM* sdbm_open ( register char *  file,
register int  flags,
register int  mode 
)

Definition at line 148 of file _sdbm.c.

References DIRFEXT, free, malloc, NULL, PAGFEXT, and sdbm_prep().

Referenced by fsdbm_initialize().

DBM* sdbm_prep ( char *  dirname,
char *  pagname,
int  flags,
int  mode 
)
int sdbm_store ( register DBM db,
datum  key,
datum  val,
int  flags 
)
static int seepair ( char *  pag,
register int  n,
register char *  key,
register int  siz 
) [static]

Definition at line 801 of file _sdbm.c.

References GET_SHORT, and memcmp().

Referenced by delpair(), duppair(), and getpair().

static int setdbit ( register DBM db,
register long int  dbit 
) [static]

Definition at line 529 of file _sdbm.c.

References BYTESIZ, DBLKSIZ, debug, DBM::dirbno, DBM::dirbuf, DBM::dirf, DBM::maxbno, OFF_DIR, and SEEK_SET.

Referenced by makroom().

static void splpage ( char *  pag,
char *  new,
long int  sbit 
) [static]

Definition at line 817 of file _sdbm.c.

References debug, datum::dptr, datum::dsize, exhash, GET_SHORT, PBLKSIZ, and putpair().

Referenced by makroom().


Variable Documentation

int errno

Referenced by argf_next_argv(), atanh(), BigDecimal_to_f(), call_asynchronous(), check_spawn_mode(), copy_stream_finalize(), CreateChild(), dir_initialize(), dir_read(), dln_load(), do_lstat(), do_opendir(), do_select(), do_stat(), dup2(), fcntl(), fdbm_store(), fgdbm_store(), finish_writeconv(), flock_winnt(), flush_before_seek(), fptr_finalize(), fsdbm_store(), function_call(), iconv_create(), iconv_try(), io_binwrite(), io_flush_buffer_sync(), io_getpartial(), io_reopen(), io_unread(), ioctl(), kill(), lgamma_r(), make_errno_exc(), maygvl_copy_stream_read(), maygvl_copy_stream_wait_read(), nogvl_copy_stream_read_write(), nogvl_copy_stream_wait_write(), nogvl_copy_stream_write(), open_dir_handle(), opendir_internal(), ossl_pkey_new_from_file(), ossl_ssl_write_internal(), ossl_start_ssl(), ossl_x509_new_from_file(), overlapped_socket_io(), p_gid_change_privilege(), p_gid_switch(), p_uid_change_privilege(), p_uid_switch(), pack_pack(), pack_unpack(), parser_yylex(), pipe_open(), poll_child_status(), proc_exec_v(), proc_waitall(), rb_chsize(), rb_cstr_to_dbl(), rb_dlcfunc_call(), rb_fdopen(), rb_file_flock(), rb_file_s_rename(), rb_iconv_sys_fail(), rb_io_each_byte(), rb_io_rewind(), rb_io_seek(), rb_io_set_pos(), rb_io_sysseek(), rb_io_tell(), rb_io_wait_readable(), rb_io_wait_writable(), rb_io_write_nonblock(), rb_load_fail(), rb_pipe(), rb_proc_exec(), rb_strftime_alloc(), rb_strftime_with_timespec(), rb_sys_warning(), rb_sysopen(), rb_syswait(), rb_thread_blocking_region(), rb_thread_blocking_region_end(), rb_thread_flock(), rb_w32_accept(), rb_w32_access(), rb_w32_asynchronize(), rb_w32_bind(), rb_w32_close(), rb_w32_connect(), rb_w32_fclose(), rb_w32_getc(), rb_w32_getcwd(), rb_w32_gethostbyaddr(), rb_w32_gethostbyname(), rb_w32_gethostname(), rb_w32_getpeername(), rb_w32_getprotobyname(), rb_w32_getprotobynumber(), rb_w32_getservbyname(), rb_w32_getservbyport(), rb_w32_getsockname(), rb_w32_getsockopt(), rb_w32_ioctlsocket(), rb_w32_isatty(), rb_w32_listen(), rb_w32_open_osfhandle(), rb_w32_opendir(), rb_w32_pipe(), rb_w32_read(), rb_w32_select(), rb_w32_setsockopt(), rb_w32_shutdown(), rb_w32_socket(), rb_w32_truncate(), rb_w32_uaccess(), rb_w32_wopen(), rb_w32_write(), rb_waitpid(), readline_readline(), realpath_rec(), recvmsg(), rsock_connect(), rsock_s_accept(), rsock_s_accept_nonblock(), rsock_s_recvfrom_nonblock(), rsock_socket(), ruby_close(), ruby_dup(), ruby_getcwd(), ruby_getpeername(), ruby_getsockname(), ruby_setenv(), ruby_shutdown(), ruby_strtod(), ruby_strtoul(), save_redirect_fd(), sendmsg(), sock_connect_nonblock(), socketpair_internal(), strio_init(), tgamma(), unixtime_to_filetime(), wait_connectable0(), waitpid(), winnt_stat(), wlink(), wmkdir(), wrename(), wrmdir(), wstati64(), wunlink(), and wutime().

long masks[] [static]
Initial value:
 {
        000000000000L, 000000000001L, 000000000003L,
        000000000007L, 000000000017L, 000000000037L,
        000000000077L, 000000000177L, 000000000377L,
        000000000777L, 000000001777L, 000000003777L,
        000000007777L, 000000017777L, 000000037777L,
        000000077777L, 000000177777L, 000000377777L,
        000000777777L, 000001777777L, 000003777777L,
        000007777777L, 000017777777L, 000037777777L,
        000077777777L, 000177777777L, 000377777777L,
        000777777777L, 001777777777L, 003777777777L,
        007777777777L, 017777777777L
}

Definition at line 131 of file _sdbm.c.

datum nullitem = {NULL, 0}

Definition at line 145 of file _sdbm.c.