Apophis
view release on metacpan or search on metacpan
include/ap_abi.h view on Meta::CPAN
typedef struct ap_abi {
int abi_version; /* == AP_ABI_VERSION */
/* Unpack a blessed Apophis object into the two things every other call
* needs. On success fills *ns_out with a pointer to the 16 namespace
* bytes, and dir_out plus dirlen_out with the store directory, returning 1.
* Returns 0 for anything that is not an Apophis object, or one built
* without a store_dir - it NEVER croaks, so a consumer may probe.
*
* Both pointers are BORROWED from the object's own SVs and are valid only
* while the object is alive and unmodified. Copy them if you intend to
* keep them.
*
* This is the only member that touches the object, which is deliberate:
* there stays exactly one source of truth for what a store is. A consumer
* caching the namespace bytes beside the object would own a second copy
* to keep in step. Any of the out-params may be NULL to discard it. */
int (*store_of)(pTHX_ SV *self, const unsigned char **ns_out,
const char **dir_out, STRLEN *dirlen_out);
/* Derive the 16 namespace bytes from a namespace string - v5(DNS, name),
( run in 1.849 second using v1.01-cache-2.11-cpan-14f38c9f855 )