Skip to main content

Crate libperl_sys

Crate libperl_sys 

Source
Expand description

§libperl-sys

Built against Perl 5.38.2 (threaded, x86_64-linux-gnu-thread-multi).

The function signatures, PL_* globals, and Sv* / Av* / Hv* helpers documented below reflect this specific Perl. Different Perl versions may have minor signature differences (added / removed functions, changed integer widths, threading-mode variations). Use the PERL_VERSION / PERL_THREADED / PERL_ARCHNAME constants for runtime identification.

Low-level, raw FFI declarations for the Perl 5 C API (libperl). Generated at build time by bindgen (regular C declarations) plus libperl-macrogen (the C macros and static inline functions that bindgen skips).

This crate is the unsafe foundation under libperl-rs; most users want that safer wrapper. Reach for libperl-sys directly when you need an API element that hasn’t been wrapped yet, or when you’re writing a sibling crate at the same layer.

§What you get

Re-exported at the crate root:

  • Perl_* extern functions and PL_* mutable statics (from bindgen),
  • Sv* / Av* / Hv* / PL_xxx!() macro helpers and inline wrappers (from libperl-macrogen) — these unify the threaded vs non-threaded calling conventions so the same source builds against both MULTIPLICITY modes,
  • opcode → name lookup table (conv_opcode) and per-function signature dictionary (sigdb) for downstream codegen.

§Safety

Every public item here is unsafe to use. Even reading a PL_* global requires the right interpreter context, and Perl’s API uses raw *mut pointers ubiquitously.

§Build requirements

  • A working Perl 5 install with development headers (Perl.h, EXTERN.h, …). Typical packages: perl-dev, perl-devel.
  • LLVM / libclang (for bindgen).
  • Internet access at first build (libperl-macrogen downloads a pre-extracted apidoc snapshot from GitHub Releases).

Threaded vs non-threaded Perl is auto-detected — no feature flag to set.

Re-exports§

pub use perl_core::*;

Modules§

conv_opcode
perl_core
Auto-generated FFI declarations (bindgen + libperl-macrogen output).
sigdb

Macros§

PL_AboveLatin1
PL_AboveLatin1PERLVAR(I, AboveLatin1, SV*)
PL_Assigned_invlist
PL_Assigned_invlistPERLVAR(I, Assigned_invlist, SV*)
PL_CCC_non0_non230
PL_CCC_non0_non230PERLVAR(I, CCC_non0_non230, SV*)
PL_C_locale_obj
PL_C_locale_objPERLVARI(G, C_locale_obj, locale_t)
PL_DBcontrol
PL_DBcontrolPERLVARA(I, DBcontrol, DBVARMG_COUNT, IV)
PL_DBcv
PL_DBcvPERLVAR(I, DBcv, CV*)
PL_DBgv
PL_DBgvPERLVAR(I, DBgv, GV*)
PL_DBline
PL_DBlinePERLVAR(I, DBline, GV*)
PL_DBsignal
PL_DBsignalPERLVAR(I, DBsignal, SV*)
PL_DBsingle
PL_DBsinglePERLVAR(I, DBsingle, SV*)
PL_DBsub
PL_DBsubPERLVAR(I, DBsub, GV*)
PL_DBtrace
PL_DBtracePERLVAR(I, DBtrace, SV*)
PL_GCB_invlist
PL_GCB_invlistPERLVAR(I, GCB_invlist, SV*)
PL_HasMultiCharFold
PL_HasMultiCharFoldPERLVAR(I, HasMultiCharFold, SV*)
PL_InBitmap
PL_InBitmapPERLVARI(I, InBitmap, SV*)
PL_InMultiCharFold
PL_InMultiCharFoldPERLVAR(I, InMultiCharFold, SV*)
PL_LB_invlist
PL_LB_invlistPERLVAR(I, LB_invlist, SV*)
PL_Latin1
PL_Latin1PERLVAR(I, Latin1, SV*)
PL_Posix_ptrs
PL_Posix_ptrsPERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV*)
PL_Private_Use
PL_Private_UsePERLVAR(I, Private_Use, SV*)
PL_SB_invlist
PL_SB_invlistPERLVAR(I, SB_invlist, SV*)
PL_SCX_invlist
PL_SCX_invlistPERLVAR(I, SCX_invlist, SV*)
PL_Sv
PL_SvPERLVAR(I, Sv, SV*)
PL_TR_SPECIAL_HANDLING_UTF8
PL_TR_SPECIAL_HANDLING_UTF8PERLVARA(I, TR_SPECIAL_HANDLING_UTF8, UTF8_MAXBYTES, char)
PL_UpperLatin1
PL_UpperLatin1PERLVAR(I, UpperLatin1, SV*)
PL_WB_invlist
PL_WB_invlistPERLVAR(I, WB_invlist, SV*)
PL_XPosix_ptrs
PL_XPosix_ptrsPERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV*)
PL_Xpv
PL_XpvPERLVAR(I, Xpv, XPV*)
PL_an
PL_anPERLVARI(I, an, U32)
PL_argvgv
PL_argvgvPERLVAR(I, argvgv, GV*)
PL_argvout_stack
PL_argvout_stackPERLVAR(I, argvout_stack, AV*)
PL_argvoutgv
PL_argvoutgvPERLVAR(I, argvoutgv, GV*)
PL_basetime
PL_basetimePERLVAR(I, basetime, Time_t)
PL_beginav
PL_beginavPERLVAR(I, beginav, AV*)
PL_beginav_save
PL_beginav_savePERLVARI(I, beginav_save, AV*)
PL_blockhooks
PL_blockhooksPERLVAR(I, blockhooks, AV*)
PL_body_arenas
PL_body_arenasPERLVAR(I, body_arenas, void*)
PL_body_roots
PL_body_rootsPERLVARA(I, body_roots, PERL_ARENA_ROOTS_SIZE, void*)
PL_bodytarget
PL_bodytargetPERLVAR(I, bodytarget, SV*)
PL_breakable_sub_gen
PL_breakable_sub_genPERLVARI(I, breakable_sub_gen, U32)
PL_check_mutex
PL_check_mutexPERLVAR(G, check_mutex, perl_mutex)
PL_checkav
PL_checkavPERLVAR(I, checkav, AV*)
PL_checkav_save
PL_checkav_savePERLVARI(I, checkav_save, AV*)
PL_chopset
PL_chopsetPERLVARI(I, chopset, const char*)
PL_clocktick
PL_clocktickPERLVARI(I, clocktick, long)
PL_collation_ix
PL_collation_ixPERLVARI(I, collation_ix, U32)
PL_collation_name
PL_collation_namePERLVAR(I, collation_name, char*)
PL_collation_standard
PL_collation_standardPERLVARI(I, collation_standard, bool)
PL_collxfrm_base
PL_collxfrm_basePERLVAR(I, collxfrm_base, Size_t)
PL_collxfrm_mult
PL_collxfrm_multPERLVARI(I, collxfrm_mult, Size_t)
PL_colors
PL_colorsPERLVARA(I, colors, 6, char*)
PL_colorset
PL_colorsetPERLVAR(I, colorset, bool)
PL_compcv
PL_compcvPERLVAR(I, compcv, CV*)
PL_compiling
PL_compilingPERLVAR(I, compiling, COP)
PL_comppad
PL_comppadPERLVAR(I, comppad, PAD*)
PL_comppad_name
PL_comppad_namePERLVAR(I, comppad_name, PADNAMELIST*)
PL_comppad_name_fill
PL_comppad_name_fillPERLVAR(I, comppad_name_fill, PADOFFSET)
PL_comppad_name_floor
PL_comppad_name_floorPERLVAR(I, comppad_name_floor, PADOFFSET)
PL_constpadix
PL_constpadixPERLVAR(I, constpadix, PADOFFSET)
PL_cop_seqmax
PL_cop_seqmaxPERLVARI(I, cop_seqmax, U32)
PL_csighandler1p
PL_csighandler1pPERLVARI(G, csighandler1p, Sighandler1_t)
PL_csighandler3p
PL_csighandler3pPERLVARI(G, csighandler3p, Sighandler3_t)
PL_csighandlerp
PL_csighandlerpPERLVARI(G, csighandlerp, Sighandler_t)
PL_ctype_name
PL_ctype_namePERLVARI(I, ctype_name, const char*)
PL_cur_LC_ALL
PL_cur_LC_ALLPERLVARI(I, cur_LC_ALL, const char*)
PL_cur_locale_obj
PL_cur_locale_objPERLVARI(I, cur_locale_obj, locale_t)
PL_curcop
PL_curcopPERLVAR(I, curcop, COP*)
PL_curcopdb
PL_curcopdbPERLVARI(I, curcopdb, COP*)
PL_curinterp
PL_curinterpPERLVARI(G, curinterp, PerlInterpreter*)
PL_curlocales
PL_curlocalesPERLVARA(I, curlocales, 12, const char*)
PL_curpad
PL_curpadPERLVAR(I, curpad, SV**)
PL_curpm
PL_curpmPERLVAR(I, curpm, PMOP*)
PL_curpm_under
PL_curpm_underPERLVAR(I, curpm_under, PMOP*)
PL_curstack
PL_curstackPERLVAR(I, curstack, AV*)
PL_curstackinfo
PL_curstackinfoPERLVAR(I, curstackinfo, PERL_SI*)
PL_curstash
PL_curstashPERLVAR(I, curstash, HV*)
PL_curstname
PL_curstnamePERLVAR(I, curstname, SV*)
PL_custom_op_descs
PL_custom_op_descsPERLVAR(I, custom_op_descs, HV*)
PL_custom_op_names
PL_custom_op_namesPERLVAR(I, custom_op_names, HV*)
PL_custom_ops
PL_custom_opsPERLVAR(I, custom_ops, HV*)
PL_cv_has_eval
PL_cv_has_evalPERLVARI(I, cv_has_eval, bool)
PL_dbargs
PL_dbargsPERLVAR(I, dbargs, AV*)
PL_debstash
PL_debstashPERLVAR(I, debstash, HV*)
PL_debug
PL_debugPERLVAR(I, debug, volatile U32)
PL_debug_pad
PL_debug_padPERLVAR(I, debug_pad, struct perl_debug_pad)
PL_def_layerlist
PL_def_layerlistPERLVARI(I, def_layerlist, PerlIO_list_t*)
PL_defgv
PL_defgvPERLVAR(I, defgv, GV*)
PL_defoutgv
PL_defoutgvPERLVAR(I, defoutgv, GV*)
PL_defstash
PL_defstashPERLVAR(I, defstash, HV*)
PL_delaymagic
PL_delaymagicPERLVAR(I, delaymagic, U16)
PL_delaymagic_egid
PL_delaymagic_egidPERLVAR(I, delaymagic_egid, Gid_t)
PL_delaymagic_euid
PL_delaymagic_euidPERLVAR(I, delaymagic_euid, Uid_t)
PL_delaymagic_gid
PL_delaymagic_gidPERLVAR(I, delaymagic_gid, Gid_t)
PL_delaymagic_uid
PL_delaymagic_uidPERLVAR(I, delaymagic_uid, Uid_t)
PL_destroyhook
PL_destroyhookPERLVARI(I, destroyhook, destroyable_proc_t)
PL_diehook
PL_diehookPERLVAR(I, diehook, SV*)
PL_do_undump
PL_do_undumpPERLVARI(G, do_undump, bool)
PL_dollarzero_mutex
PL_dollarzero_mutexPERLVAR(G, dollarzero_mutex, perl_mutex)
PL_doswitches
PL_doswitchesPERLVAR(I, doswitches, bool)
PL_dowarn
PL_dowarnPERLVAR(I, dowarn, U8)
PL_dump_re_max_len
PL_dump_re_max_lenPERLVARI(I, dump_re_max_len, STRLEN)
PL_dumpindent
PL_dumpindentPERLVARI(I, dumpindent, U16)
PL_e_script
PL_e_scriptPERLVAR(I, e_script, SV*)
PL_efloatbuf
PL_efloatbufPERLVAR(I, efloatbuf, char*)
PL_efloatsize
PL_efloatsizePERLVAR(I, efloatsize, STRLEN)
PL_endav
PL_endavPERLVAR(I, endav, AV*)
PL_env_mutex
PL_env_mutexPERLVAR(G, env_mutex, perl_RnW1_mutex_t)
PL_envgv
PL_envgvPERLVAR(I, envgv, GV*)
PL_errgv
PL_errgvPERLVAR(I, errgv, GV*)
PL_errors
PL_errorsPERLVARI(I, errors, SV*)
PL_eval_begin_nest_depth
PL_eval_begin_nest_depthPERLVARI(I, eval_begin_nest_depth, U32)
PL_eval_root
PL_eval_rootPERLVAR(I, eval_root, OP*)
PL_eval_start
PL_eval_startPERLVAR(I, eval_start, OP*)
PL_evalseq
PL_evalseqPERLVARI(I, evalseq, U32)
PL_exit_flags
PL_exit_flagsPERLVAR(I, exit_flags, U8)
PL_exitlist
PL_exitlistPERLVARI(I, exitlist, PerlExitListEntry*)
PL_exitlistlen
PL_exitlistlenPERLVARI(I, exitlistlen, I32)
PL_fdpid
PL_fdpidPERLVAR(I, fdpid, AV*)
PL_filemode
PL_filemodePERLVAR(I, filemode, int)
PL_firstgv
PL_firstgvPERLVAR(I, firstgv, GV*)
PL_fold_locale
PL_fold_localePERLVARA(I, fold_locale, 256, U8)
PL_forkprocess
PL_forkprocessPERLVAR(I, forkprocess, int)
PL_formtarget
PL_formtargetPERLVAR(I, formtarget, SV*)
PL_generation
PL_generationPERLVARI(I, generation, int)
PL_gensym
PL_gensymPERLVARI(I, gensym, I32)
PL_globalstash
PL_globalstashPERLVAR(I, globalstash, HV*)
PL_globhook
PL_globhookPERLVARI(I, globhook, globhook_t)
PL_hash_rand_bits
PL_hash_rand_bitsPERLVARI(I, hash_rand_bits, UV)
PL_hash_rand_bits_enabled
PL_hash_rand_bits_enabledPERLVARI(I, hash_rand_bits_enabled, U8)
PL_hash_seed_set
PL_hash_seed_setPERLVARI(G, hash_seed_set, bool)
PL_hash_seed_w
PL_hash_seed_wPERLVARA(G, hash_seed_w, PERL_HASH_SEED_WORDS, PVT__PERL_HASH_WORD_TYPE)
PL_hash_state_w
PL_hash_state_wPERLVARA(G, hash_state_w, PERL_HASH_STATE_WORDS, PVT__PERL_HASH_WORD_TYPE)
PL_hintgv
PL_hintgvPERLVAR(I, hintgv, GV*)
PL_hints_mutex
PL_hints_mutexPERLVAR(G, hints_mutex, perl_mutex)
PL_hook__require__after
PL_hook__require__afterPERLVARI(I, hook__require__after, SV*)
PL_hook__require__before
PL_hook__require__beforePERLVARI(I, hook__require__before, SV*)
PL_hv_fetch_ent_mh
PL_hv_fetch_ent_mhPERLVAR(I, hv_fetch_ent_mh, HE*)
PL_in_clean_all
PL_in_clean_allPERLVARI(I, in_clean_all, bool)
PL_in_clean_objs
PL_in_clean_objsPERLVARI(I, in_clean_objs, bool)
PL_in_eval
PL_in_evalPERLVAR(I, in_eval, U8)
PL_in_load_module
PL_in_load_modulePERLVARI(I, in_load_module, bool)
PL_in_some_fold
PL_in_some_foldPERLVAR(I, in_some_fold, SV*)
PL_in_utf8_COLLATE_locale
PL_in_utf8_COLLATE_localePERLVAR(I, in_utf8_COLLATE_locale, bool)
PL_in_utf8_CTYPE_locale
PL_in_utf8_CTYPE_localePERLVAR(I, in_utf8_CTYPE_locale, bool)
PL_in_utf8_turkic_locale
PL_in_utf8_turkic_localePERLVAR(I, in_utf8_turkic_locale, bool)
PL_incgv
PL_incgvPERLVAR(I, incgv, GV*)
PL_infix_plugin
PL_infix_pluginPERLVARI(G, infix_plugin, Perl_infix_plugin_t)
PL_initav
PL_initavPERLVAR(I, initav, AV*)
PL_inplace
PL_inplacePERLVAR(I, inplace, char*)
PL_internal_random_state
PL_internal_random_statePERLVAR(I, internal_random_state, PL_RANDOM_STATE_TYPE)
PL_isarev
PL_isarevPERLVARI(I, isarev, HV*)
PL_keyword_plugin
PL_keyword_pluginPERLVARI(G, keyword_plugin, Perl_keyword_plugin_t)
PL_keyword_plugin_mutex
PL_keyword_plugin_mutexPERLVAR(G, keyword_plugin_mutex, perl_mutex)
PL_known_layers
PL_known_layersPERLVARI(I, known_layers, PerlIO_list_t*)
PL_langinfo_buf
PL_langinfo_bufPERLVARI(I, langinfo_buf, const char*)
PL_langinfo_bufsize
PL_langinfo_bufsizePERLVARI(I, langinfo_bufsize, Size_t)
PL_last_in_gv
PL_last_in_gvPERLVAR(I, last_in_gv, GV*)
PL_lastfd
PL_lastfdPERLVAR(I, lastfd, int)
PL_lastgotoprobe
PL_lastgotoprobePERLVAR(I, lastgotoprobe, OP*)
PL_laststatval
PL_laststatvalPERLVARI(I, laststatval, int)
PL_laststype
PL_laststypePERLVARI(I, laststype, U16)
PL_locale_mutex
PL_locale_mutexPERLVAR(G, locale_mutex, perl_mutex)
PL_locale_mutex_depth
PL_locale_mutex_depthPERLVARI(I, locale_mutex_depth, int)
PL_localizing
PL_localizingPERLVAR(I, localizing, U8)
PL_localpatches
PL_localpatchesPERLVAR(I, localpatches, const char*const*)
PL_lockhook
PL_lockhookPERLVARI(I, lockhook, share_proc_t)
PL_main_cv
PL_main_cvPERLVAR(I, main_cv, CV*)
PL_main_root
PL_main_rootPERLVAR(I, main_root, OP*)
PL_main_start
PL_main_startPERLVAR(I, main_start, OP*)
PL_mainstack
PL_mainstackPERLVAR(I, mainstack, AV*)
PL_markstack
PL_markstackPERLVAR(I, markstack, I32*)
PL_markstack_max
PL_markstack_maxPERLVAR(I, markstack_max, I32*)
PL_markstack_ptr
PL_markstack_ptrPERLVAR(I, markstack_ptr, I32*)
PL_max_intro_pending
PL_max_intro_pendingPERLVAR(I, max_intro_pending, PADOFFSET)
PL_maxsysfd
PL_maxsysfdPERLVARI(I, maxsysfd, I32)
PL_mbrlen_ps
PL_mbrlen_psPERLVAR(I, mbrlen_ps, mbstate_t)
PL_mbrtowc_ps
PL_mbrtowc_psPERLVAR(I, mbrtowc_ps, mbstate_t)
PL_memory_debug_header
PL_memory_debug_headerPERLVAR(I, memory_debug_header, struct perl_memory_debug_header)
PL_mess_sv
PL_mess_svPERLVAR(I, mess_sv, SV*)
PL_min_intro_pending
PL_min_intro_pendingPERLVAR(I, min_intro_pending, PADOFFSET)
PL_minus_E
PL_minus_EPERLVAR(I, minus_E, bool)
PL_minus_F
PL_minus_FPERLVAR(I, minus_F, bool)
PL_minus_a
PL_minus_aPERLVAR(I, minus_a, bool)
PL_minus_c
PL_minus_cPERLVAR(I, minus_c, bool)
PL_minus_l
PL_minus_lPERLVAR(I, minus_l, bool)
PL_minus_n
PL_minus_nPERLVAR(I, minus_n, bool)
PL_minus_p
PL_minus_pPERLVAR(I, minus_p, bool)
PL_mmap_page_size
PL_mmap_page_sizePERLVARI(G, mmap_page_size, IV)
PL_modcount
PL_modcountPERLVAR(I, modcount, I32)
PL_modglobal
PL_modglobalPERLVAR(I, modglobal, HV*)
PL_multideref_pc
PL_multideref_pcPERLVAR(I, multideref_pc, UNOP_AUX_item*)
PL_my_ctx_mutex
PL_my_ctx_mutexPERLVAR(G, my_ctx_mutex, perl_mutex)
PL_my_cxt_index
PL_my_cxt_indexPERLVARI(G, my_cxt_index, int)
PL_my_cxt_list
PL_my_cxt_listPERLVARI(I, my_cxt_list, void**)
PL_my_cxt_size
PL_my_cxt_sizePERLVARI(I, my_cxt_size, int)
PL_my_environ
PL_my_environPERLVARI(G, my_environ, char**)
PL_na
PL_naPERLVAR(I, na, STRLEN)
PL_nomemok
PL_nomemokPERLVAR(I, nomemok, bool)
PL_numeric_name
PL_numeric_namePERLVAR(I, numeric_name, char*)
PL_numeric_radix_sv
PL_numeric_radix_svPERLVAR(I, numeric_radix_sv, SV*)
PL_numeric_standard
PL_numeric_standardPERLVARI(I, numeric_standard, int)
PL_numeric_underlying
PL_numeric_underlyingPERLVARI(I, numeric_underlying, bool)
PL_numeric_underlying_is_standard
PL_numeric_underlying_is_standardPERLVARI(I, numeric_underlying_is_standard, bool)
PL_ofsgv
PL_ofsgvPERLVAR(I, ofsgv, GV*)
PL_oldname
PL_oldnamePERLVAR(I, oldname, char*)
PL_op
PL_opPERLVAR(I, op, OP*)
PL_op_mask
PL_op_maskPERLVARI(I, op_mask, char*)
PL_op_mutex
PL_op_mutexPERLVAR(G, op_mutex, perl_mutex)
PL_op_seq
PL_op_seqPERLVARI(G, op_seq, UV)
PL_op_sequence
PL_op_sequencePERLVARI(G, op_sequence, HV*)
PL_opfreehook
PL_opfreehookPERLVARI(I, opfreehook, Perl_ophook_t)
PL_origalen
PL_origalenPERLVAR(I, origalen, U32)
PL_origargc
PL_origargcPERLVAR(I, origargc, int)
PL_origargv
PL_origargvPERLVAR(I, origargv, char**)
PL_origenviron
PL_origenvironPERLVARI(G, origenviron, char**)
PL_origfilename
PL_origfilenamePERLVAR(I, origfilename, char*)
PL_ors_sv
PL_ors_svPERLVAR(I, ors_sv, SV*)
PL_osname
PL_osnamePERLVAR(I, osname, char*)
PL_pad_reset_pending
PL_pad_reset_pendingPERLVAR(I, pad_reset_pending, bool)
PL_padix
PL_padixPERLVAR(I, padix, PADOFFSET)
PL_padix_floor
PL_padix_floorPERLVAR(I, padix_floor, PADOFFSET)
PL_padlist_generation
PL_padlist_generationPERLVARI(I, padlist_generation, U32)
PL_padname_const
PL_padname_constPERLVAR(I, padname_const, PADNAME)
PL_padname_undef
PL_padname_undefPERLVAR(I, padname_undef, PADNAME)
PL_parser
PL_parserPERLVAR(I, parser, yy_parser*)
PL_patchlevel
PL_patchlevelPERLVAR(I, patchlevel, SV*)
PL_peepp
PL_peeppPERLVARI(I, peepp, peep_t)
PL_perl_destruct_level
PL_perl_destruct_levelPERLVARI(I, perl_destruct_level, signed char)
PL_perldb
PL_perldbPERLVAR(I, perldb, U32)
PL_perlio
PL_perlioPERLVARI(I, perlio, PerlIOl*)
PL_perlio_debug_fd
PL_perlio_debug_fdPERLVARI(G, perlio_debug_fd, int)
PL_perlio_fd_refcnt
PL_perlio_fd_refcntPERLVARI(G, perlio_fd_refcnt, int*)
PL_perlio_fd_refcnt_size
PL_perlio_fd_refcnt_sizePERLVARI(G, perlio_fd_refcnt_size, int)
PL_perlio_mutex
PL_perlio_mutexPERLVAR(G, perlio_mutex, perl_mutex)
PL_phase
PL_phasePERLVARI(I, phase, enum perl_phase)
PL_preambleav
PL_preambleavPERLVAR(I, preambleav, AV*)
PL_prevailing_version
PL_prevailing_versionPERLVAR(I, prevailing_version, U16)
PL_profiledata
PL_profiledataPERLVARI(I, profiledata, U32*)
PL_psig_name
PL_psig_namePERLVAR(I, psig_name, SV**)
PL_psig_pend
PL_psig_pendPERLVAR(I, psig_pend, int*)
PL_psig_ptr
PL_psig_ptrPERLVAR(I, psig_ptr, SV**)
PL_ptr_table
PL_ptr_tablePERLVAR(I, ptr_table, PTR_TBL_t*)
PL_random_state
PL_random_statePERLVAR(I, random_state, PL_RANDOM_STATE_TYPE)
PL_reentrant_buffer
PL_reentrant_bufferPERLVAR(I, reentrant_buffer, REENTR*)
PL_reentrant_retint
PL_reentrant_retintPERLVAR(I, reentrant_retint, int)
PL_reg_curpm
PL_reg_curpmPERLVARI(I, reg_curpm, PMOP*)
PL_regex_pad
PL_regex_padPERLVAR(I, regex_pad, SV**)
PL_regex_padav
PL_regex_padavPERLVAR(I, regex_padav, AV*)
PL_registered_mros
PL_registered_mrosPERLVAR(I, registered_mros, HV*)
PL_regmatch_slab
PL_regmatch_slabPERLVARI(I, regmatch_slab, regmatch_slab*)
PL_regmatch_state
PL_regmatch_statePERLVAR(I, regmatch_state, regmatch_state*)
PL_replgv
PL_replgvPERLVAR(I, replgv, GV*)
PL_restartjmpenv
PL_restartjmpenvPERLVAR(I, restartjmpenv, JMPENV*)
PL_restartop
PL_restartopPERLVAR(I, restartop, OP*)
PL_rpeepp
PL_rpeeppPERLVARI(I, rpeepp, peep_t)
PL_rs
PL_rsPERLVAR(I, rs, SV*)
PL_runops
PL_runopsPERLVARI(I, runops, runops_proc_t)
PL_savebegin
PL_savebeginPERLVARI(I, savebegin, bool)
PL_savestack
PL_savestackPERLVAR(I, savestack, ANY*)
PL_savestack_ix
PL_savestack_ixPERLVAR(I, savestack_ix, I32)
PL_savestack_max
PL_savestack_maxPERLVAR(I, savestack_max, I32)
PL_scopestack
PL_scopestackPERLVAR(I, scopestack, I32*)
PL_scopestack_ix
PL_scopestack_ixPERLVAR(I, scopestack_ix, I32)
PL_scopestack_max
PL_scopestack_maxPERLVAR(I, scopestack_max, I32)
PL_scopestack_name
PL_scopestack_namePERLVARI(I, scopestack_name, const char**)
PL_scratch_locale_obj
PL_scratch_locale_objPERLVARI(I, scratch_locale_obj, locale_t)
PL_secondgv
PL_secondgvPERLVAR(I, secondgv, GV*)
PL_setlocale_buf
PL_setlocale_bufPERLVARI(I, setlocale_buf, const char*)
PL_setlocale_bufsize
PL_setlocale_bufsizePERLVARI(I, setlocale_bufsize, Size_t)
PL_sharehook
PL_sharehookPERLVARI(I, sharehook, share_proc_t)
PL_sig_pending
PL_sig_pendingPERLVARI(I, sig_pending, int)
PL_sigfpe_saved
PL_sigfpe_savedPERLVAR(G, sigfpe_saved, Sighandler_t)
PL_sighandler1p
PL_sighandler1pPERLVAR(I, sighandler1p, Sighandler1_t)
PL_sighandler3p
PL_sighandler3pPERLVAR(I, sighandler3p, Sighandler3_t)
PL_sighandlerp
PL_sighandlerpPERLVAR(I, sighandlerp, Sighandler_t)
PL_signalhook
PL_signalhookPERLVARI(I, signalhook, despatch_signals_proc_t)
PL_signals
PL_signalsPERLVAR(I, signals, U32)
PL_sortcop
PL_sortcopPERLVAR(I, sortcop, OP*)
PL_sortstash
PL_sortstashPERLVAR(I, sortstash, HV*)
PL_splitstr
PL_splitstrPERLVARI(I, splitstr, char*)
PL_srand_called
PL_srand_calledPERLVARI(I, srand_called, bool)
PL_srand_override
PL_srand_overridePERLVARI(I, srand_override, U32)
PL_srand_override_next
PL_srand_override_nextPERLVARI(I, srand_override_next, U32)
PL_stack_base
PL_stack_basePERLVAR(I, stack_base, SV**)
PL_stack_max
PL_stack_maxPERLVAR(I, stack_max, SV**)
PL_stack_sp
PL_stack_spPERLVAR(I, stack_sp, SV**)
PL_start_env
PL_start_envPERLVAR(I, start_env, JMPENV)
PL_stashcache
PL_stashcachePERLVAR(I, stashcache, HV*)
PL_stashpad
PL_stashpadPERLVAR(I, stashpad, HV**)
PL_stashpadix
PL_stashpadixPERLVARI(I, stashpadix, PADOFFSET)
PL_stashpadmax
PL_stashpadmaxPERLVARI(I, stashpadmax, PADOFFSET)
PL_statcache
PL_statcachePERLVAR(I, statcache, Stat_t)
PL_statgv
PL_statgvPERLVAR(I, statgv, GV*)
PL_statname
PL_statnamePERLVARI(I, statname, SV*)
PL_statusvalue
PL_statusvaluePERLVAR(I, statusvalue, I32)
PL_statusvalue_posix
PL_statusvalue_posixPERLVAR(I, statusvalue_posix, I32)
PL_stderrgv
PL_stderrgvPERLVAR(I, stderrgv, GV*)
PL_stdingv
PL_stdingvPERLVAR(I, stdingv, GV*)
PL_stdize_locale_buf
PL_stdize_locale_bufPERLVARI(I, stdize_locale_buf, const char*)
PL_stdize_locale_bufsize
PL_stdize_locale_bufsizePERLVARI(I, stdize_locale_bufsize, Size_t)
PL_strategy_accept
PL_strategy_acceptPERLVARI(G, strategy_accept, int)
PL_strategy_dup
PL_strategy_dupPERLVARI(G, strategy_dup, int)
PL_strategy_dup2
PL_strategy_dup2PERLVARI(G, strategy_dup2, int)
PL_strategy_mkstemp
PL_strategy_mkstempPERLVARI(G, strategy_mkstemp, int)
PL_strategy_open
PL_strategy_openPERLVARI(G, strategy_open, int)
PL_strategy_open3
PL_strategy_open3PERLVARI(G, strategy_open3, int)
PL_strategy_pipe
PL_strategy_pipePERLVARI(G, strategy_pipe, int)
PL_strategy_socket
PL_strategy_socketPERLVARI(G, strategy_socket, int)
PL_strategy_socketpair
PL_strategy_socketpairPERLVARI(G, strategy_socketpair, int)
PL_strtab
PL_strtabPERLVAR(I, strtab, HV*)
PL_strxfrm_NUL_replacement
PL_strxfrm_NUL_replacementPERLVARI(I, strxfrm_NUL_replacement, U8)
PL_strxfrm_is_behaved
PL_strxfrm_is_behavedPERLVARI(I, strxfrm_is_behaved, bool)
PL_strxfrm_max_cp
PL_strxfrm_max_cpPERLVARI(I, strxfrm_max_cp, U8)
PL_sub_generation
PL_sub_generationPERLVARI(I, sub_generation, U32)
PL_subline
PL_sublinePERLVAR(I, subline, I32)
PL_subname
PL_subnamePERLVAR(I, subname, SV*)
PL_sv_arenaroot
PL_sv_arenarootPERLVAR(I, sv_arenaroot, SV*)
PL_sv_consts
PL_sv_constsPERLVARA(I, sv_consts, SV_CONSTS_COUNT, SV*)
PL_sv_count
PL_sv_countPERLVAR(I, sv_count, IV)
PL_sv_no
PL_sv_noPERLVAR(I, sv_no, SV)
PL_sv_placeholder
PL_sv_placeholderPERLVAR(G, sv_placeholder, SV)
PL_sv_root
PL_sv_rootPERLVAR(I, sv_root, SV*)
PL_sv_undef
PL_sv_undefPERLVAR(I, sv_undef, SV)
PL_sv_yes
PL_sv_yesPERLVAR(I, sv_yes, SV)
PL_sv_zero
PL_sv_zeroPERLVAR(I, sv_zero, SV)
PL_taint_warn
PL_taint_warnPERLVAR(I, taint_warn, bool)
PL_tainted
PL_taintedPERLVARI(I, tainted, bool)
PL_tainting
PL_taintingPERLVAR(I, tainting, bool)
PL_thr_key
PL_thr_keyPERLVAR(G, thr_key, perl_key)
PL_threadhook
PL_threadhookPERLVARI(I, threadhook, thrhook_proc_t)
PL_tmps_floor
PL_tmps_floorPERLVARI(I, tmps_floor, SSize_t)
PL_tmps_ix
PL_tmps_ixPERLVARI(I, tmps_ix, SSize_t)
PL_tmps_max
PL_tmps_maxPERLVAR(I, tmps_max, SSize_t)
PL_tmps_stack
PL_tmps_stackPERLVAR(I, tmps_stack, SV**)
PL_top_env
PL_top_envPERLVAR(I, top_env, JMPENV*)
PL_toptarget
PL_toptargetPERLVAR(I, toptarget, SV*)
PL_underlying_numeric_obj
PL_underlying_numeric_objPERLVARI(I, underlying_numeric_obj, locale_t)
PL_underlying_radix_sv
PL_underlying_radix_svPERLVAR(I, underlying_radix_sv, SV*)
PL_unicode
PL_unicodePERLVAR(I, unicode, U32)
PL_unitcheckav
PL_unitcheckavPERLVAR(I, unitcheckav, AV*)
PL_unitcheckav_save
PL_unitcheckav_savePERLVARI(I, unitcheckav_save, AV*)
PL_unlockhook
PL_unlockhookPERLVARI(I, unlockhook, share_proc_t)
PL_unsafe
PL_unsafePERLVAR(I, unsafe, bool)
PL_user_def_props
PL_user_def_propsPERLVARI(G, user_def_props, HV*)
PL_user_def_props_aTHX
PL_user_def_props_aTHXPERLVAR(G, user_def_props_aTHX, PerlInterpreter*)
PL_user_prop_mutex
PL_user_prop_mutexPERLVAR(G, user_prop_mutex, perl_mutex)
PL_utf8_charname_begin
PL_utf8_charname_beginPERLVAR(I, utf8_charname_begin, SV*)
PL_utf8_charname_continue
PL_utf8_charname_continuePERLVAR(I, utf8_charname_continue, SV*)
PL_utf8_foldclosures
PL_utf8_foldclosuresPERLVAR(I, utf8_foldclosures, SV*)
PL_utf8_idcont
PL_utf8_idcontPERLVAR(I, utf8_idcont, SV*)
PL_utf8_idstart
PL_utf8_idstartPERLVAR(I, utf8_idstart, SV*)
PL_utf8_mark
PL_utf8_markPERLVAR(I, utf8_mark, SV*)
PL_utf8_perl_idcont
PL_utf8_perl_idcontPERLVAR(I, utf8_perl_idcont, SV*)
PL_utf8_perl_idstart
PL_utf8_perl_idstartPERLVAR(I, utf8_perl_idstart, SV*)
PL_utf8_tofold
PL_utf8_tofoldPERLVAR(I, utf8_tofold, SV*)
PL_utf8_tolower
PL_utf8_tolowerPERLVAR(I, utf8_tolower, SV*)
PL_utf8_tosimplefold
PL_utf8_tosimplefoldPERLVAR(I, utf8_tosimplefold, SV*)
PL_utf8_totitle
PL_utf8_totitlePERLVAR(I, utf8_totitle, SV*)
PL_utf8_toupper
PL_utf8_toupperPERLVAR(I, utf8_toupper, SV*)
PL_utf8_xidcont
PL_utf8_xidcontPERLVAR(I, utf8_xidcont, SV*)
PL_utf8_xidstart
PL_utf8_xidstartPERLVAR(I, utf8_xidstart, SV*)
PL_utf8cache
PL_utf8cachePERLVARI(I, utf8cache, I8)
PL_utf8locale
PL_utf8localePERLVAR(I, utf8locale, bool)
PL_veto_cleanup
PL_veto_cleanupPERLVARI(G, veto_cleanup, int)
PL_veto_switch_non_tTHX_context
PL_veto_switch_non_tTHX_contextPERLVARI(G, veto_switch_non_tTHX_context, int)
PL_warn_locale
PL_warn_localePERLVAR(I, warn_locale, SV*)
PL_warnhook
PL_warnhookPERLVAR(I, warnhook, SV*)
PL_watch_pvx
PL_watch_pvxPERLVARI(G, watch_pvx, char*)
PL_watchaddr
PL_watchaddrPERLVARI(I, watchaddr, char**)
PL_watchok
PL_watchokPERLVAR(I, watchok, char*)
PL_wcrtomb_ps
PL_wcrtomb_psPERLVAR(I, wcrtomb_ps, mbstate_t)
PL_xsubfilename
PL_xsubfilenamePERLVARI(I, xsubfilename, const char*)

Constants§

PERL_ARCHNAME
Perl archname (e.g. "x86_64-linux-thread-multi" or "x86_64-linux-gnu"). Mostly informational; the more useful invariants are in PERL_VERSION and PERL_THREADED.
PERL_THREADED
"threaded" if the target Perl was built with useithreads, "non-threaded" otherwise. Threading mode determines whether most Perl C API functions take a leading my_perl: *mut PerlInterpreter parameter.
PERL_VERSION
Perl version this binding was generated against (e.g. "5.38.4").