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.224 second using v1.01-cache-2.11-cpan-14f38c9f855 )