view release on metacpan or search on metacpan
lib/Bio/PhyloXS.xs view on Meta::CPAN
void
_binding_ok ()
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
_binding_ok();
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Bio/DB/Sam.xs view on Meta::CPAN
Bio::DB::Bam::Alignment b
PROTOTYPE: $
PREINIT:
uint8_t *s;
uint8_t type;
PPCODE:
{
s = bam1_aux(b); /* s is a khash macro */
while (s < b->data + b->data_len) {
XPUSHs(sv_2mortal(newSVpv(s,2)));
s += 2;
lib/Bio/DB/Sam.xs view on Meta::CPAN
Bio::DB::Bam::Header bamh
char* region
PROTOTYPE: $
PREINIT:
int seqid,start,end;
PPCODE:
{
bam_parse_region(bamh,
region,
&seqid,
&start,
view all matches for this distribution
view release on metacpan or search on metacpan
void
bg_grep(vec, ...)
SV *vec;
PREINIT:
SV **to;
PPCODE:
to = &(ST(0));
iterate(aTHX_ vec, &(ST(1)), items - 1, &bg_grep_cb, &to);
XSRETURN(to - &(ST(0)));
NV
void
bg_count_and_sum(vec, ...)
SV *vec;
PREINIT:
struct bg_stats_state state;
PPCODE:
state.count = 0;
state.sum = 0;
iterate(aTHX_ vec, &(ST(1)), items - 1, &bg_count_and_sum_cb, &state);
mXPUSHi(state.count);
mXPUSHn(state.sum);
void
bg_count_sum_and_sum2(vec, ...)
SV *vec;
PREINIT:
struct bg_stats_state state;
PPCODE:
state.count = 0;
state.sum = 0;
state.sum2 = 0;
iterate(aTHX_ vec, &(ST(1)), items - 1, &bg_count_sum_and_sum2_cb, &state);
mXPUSHi(state.count);
view all matches for this distribution
view release on metacpan or search on metacpan
ShiftReg.xs view on Meta::CPAN
}
void
Version()
PPCODE:
{
EXTEND(sp,1);
PUSHs(sv_2mortal(newSVpv("2.0",0)));
}
view all matches for this distribution
view release on metacpan or search on metacpan
}
void
BitVector_Version(...)
PPCODE:
{
charptr string;
if ((items >= 0) and (items <= 1))
{
void
BitVector_Create(...)
ALIAS:
new = 1
PPCODE:
{
BitVector_Scalar arg1;
BitVector_Scalar arg2;
BitVector_Address address;
BitVector_Handle handle;
void
BitVector_new_Hex(class,bits,string)
BitVector_Object class
BitVector_Scalar bits
BitVector_Scalar string
PPCODE:
{
BitVector_Address address;
BitVector_Handle handle;
BitVector_Object reference;
charptr pointer;
void
BitVector_new_Bin(class,bits,string)
BitVector_Object class
BitVector_Scalar bits
BitVector_Scalar string
PPCODE:
{
BitVector_Address address;
BitVector_Handle handle;
BitVector_Object reference;
charptr pointer;
void
BitVector_new_Dec(class,bits,string)
BitVector_Object class
BitVector_Scalar bits
BitVector_Scalar string
PPCODE:
{
BitVector_Address address;
BitVector_Handle handle;
BitVector_Object reference;
charptr pointer;
void
BitVector_new_Enum(class,bits,string)
BitVector_Object class
BitVector_Scalar bits
BitVector_Scalar string
PPCODE:
{
BitVector_Address address;
BitVector_Handle handle;
BitVector_Object reference;
charptr pointer;
void
BitVector_Shadow(reference)
BitVector_Object reference
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
if ( BIT_VECTOR_OBJECT(reference,handle,address) )
void
BitVector_Clone(reference)
BitVector_Object reference
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
if ( BIT_VECTOR_OBJECT(reference,handle,address) )
void
BitVector_Concat(Xref,Yref)
BitVector_Object Xref
BitVector_Object Yref
PPCODE:
{
BitVector_Handle Xhdl;
BitVector_Address Xadr;
BitVector_Handle Yhdl;
BitVector_Address Yadr;
}
void
BitVector_Concat_List(...)
PPCODE:
{
BitVector_Object Xref;
BitVector_Handle Xhdl;
BitVector_Address Xadr;
BitVector_Object reference;
void
BitVector_Interval_Scan_inc(reference,start)
BitVector_Object reference
BitVector_Scalar start
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
N_int first;
N_int min;
void
BitVector_Interval_Scan_dec(reference,start)
BitVector_Object reference
BitVector_Scalar start
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
N_int first;
N_int min;
void
BitVector_to_Hex(reference)
BitVector_Object reference
ALIAS:
to_String = 2
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
charptr string;
void
BitVector_to_Bin(reference)
BitVector_Object reference
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
charptr string;
void
BitVector_to_Dec(reference)
BitVector_Object reference
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
charptr string;
void
BitVector_to_Enum(reference)
BitVector_Object reference
ALIAS:
to_ASCII = 2
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
charptr string;
BitVector_add(Xref,Yref,Zref,carry)
BitVector_Object Xref
BitVector_Object Yref
BitVector_Object Zref
BitVector_Scalar carry
PPCODE:
{
BitVector_Handle Xhdl;
BitVector_Address Xadr;
BitVector_Handle Yhdl;
BitVector_Address Yadr;
BitVector_Object Yref
BitVector_Object Zref
BitVector_Scalar carry
ALIAS:
sub = 2
PPCODE:
{
BitVector_Handle Xhdl;
BitVector_Address Xadr;
BitVector_Handle Yhdl;
BitVector_Address Yadr;
void
BitVector_Block_Read(reference)
BitVector_Object reference
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
charptr string;
N_int length;
void
BitVector_Word_List_Read(reference)
BitVector_Object reference
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
N_int offset;
N_int value;
void
BitVector_Chunk_List_Read(reference,chunksize)
BitVector_Object reference
BitVector_Scalar chunksize
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
N_int chunkspan;
N_long chunk;
void
BitVector_Index_List_Read(reference)
BitVector_Object reference
PPCODE:
{
BitVector_Handle handle;
BitVector_Address address;
N_int size;
N_int bits;
view all matches for this distribution
view release on metacpan or search on metacpan
fallback/const-xs.inc view on Meta::CPAN
/* NV nv; Uncomment this if you need to return NVs */
/* const char *pv; Uncomment this if you need to return PVs */
INPUT:
SV * sv;
const char * s = SvPV(sv, len);
PPCODE:
/* Change this to constant(aTHX_ s, len, &iv, &nv);
if you need to return both NVs and IVs */
type = constant(aTHX_ s, len, &iv);
/* Return 1 or 2 items. First is error message, or undef if no error.
Second, if present, is found value */
view all matches for this distribution
view release on metacpan or search on metacpan
Directed/Directed.xs view on Meta::CPAN
bool
BoostGraph::_addEdge(int nodeIdSource, int nodeIdSink, double weightVal)
void
BoostGraph::breadthFirstSearch(int startNodeId)
PPCODE:
std::vector<int> bfs = THIS->BGi->breadthFirstSearch(startNodeId);
for(unsigned int i=0; i<bfs.size(); i++) {
XPUSHs(sv_2mortal(newSVnv(bfs[i])));
}
void
BoostGraph::depthFirstSearch(int startNodeId)
PPCODE:
std::vector<int> dfs = THIS->BGi->depthFirstSearch(startNodeId);
for(unsigned int i=0; i<dfs.size(); i++) {
XPUSHs(sv_2mortal(newSVnv(dfs[i])));
}
void
BoostGraph::dijkstraShortestPath(int nodeIdStart, int nodeIdEnd)
PPCODE:
Path pInfo = THIS->BGi->dijkstraShortestPath(nodeIdStart, nodeIdEnd);
XPUSHs(sv_2mortal(newSVnv(pInfo.second))); // the path weight
for(unsigned int i=0; i<pInfo.first.size(); i++) {
XPUSHs(sv_2mortal(newSVnv(pInfo.first[i]))); // nodes in the path
}
view all matches for this distribution
view release on metacpan or search on metacpan
xsp/b2Body.xsp view on Meta::CPAN
RETVAL
SV*
b2Body::GetUserData ( )
PPCODE:
void* userData = THIS->GetUserData();
if (!userData)
XSRETURN_EMPTY;
ST(0) = (SV *)userData;
XSRETURN(1);
void
b2Body::SetUserData ( ... )
PPCODE:
if ( items > 1)
THIS->SetUserData( (void *)new_data( ST(1) ) );
view all matches for this distribution
view release on metacpan or search on metacpan
KontoCheck.xs view on Meta::CPAN
char **base_name;
int i,ret,anzahl,anzahl_name,start_name_idx,*start_idx,*zw,*bb;
int sort,uniq,anzahl2,*idx_o,*cnt_o;
AV *zweigstelle,*blz_array,*vals,*cnt_array;
SV *zweigstelle_p,*blz_array_p,*vals_p,*cnt_array_p;
PPCODE:
if(items<2 || items>5)Perl_croak(aTHX_ "Usage: Business::KontoCheck::lut_suche_volltext(suchworte[,retval[,uniq[,sort]]])");
ret=lut_suche_volltext(search,&anzahl_name,&start_name_idx,&base_name,&anzahl,&start_idx,&zw,&bb);
if(items>=3){
sv_setiv(ST(2),(IV)ret);
SvSETMAGIC(ST(2));
KontoCheck.xs view on Meta::CPAN
char *such_cmd;
int i,uniq,ret;
UINT4 anzahl,*blz,*zweigstellen;
AV *zweigstellen_array,*blz_array;
SV *zweigstelle_p,*blz_array_p;
PPCODE:
/* Anzahl, BLZ, Zweigstellen: nur Rückgabeparameter */
switch(items){
case 2: /* keine zusätzlichen Parameter */
uniq=UNIQ_DEFAULT_PERL;
KontoCheck.xs view on Meta::CPAN
int i,ret,anzahl,*start_idx,*zw,*bb;
int sort,uniq,anzahl2,*idx_o,*cnt_o;
STRLEN len;
AV *zweigstellen_array,*blz_array,*vals,*cnt_array;
SV *zweigstelle_p,*blz_array_p,*vals_p,*cnt_array_p;
PPCODE:
switch(art){
case 1:
fkt="bic";
break;
case 2:
KontoCheck.xs view on Meta::CPAN
int search2;
int i,ret,anzahl,*start_idx,*base_name,*zw,*bb;
int sort,uniq,anzahl2,*idx_o,*cnt_o;
AV *zweigstellen_array,*blz_array,*vals,*cnt_array;
SV *zweigstelle_p,*blz_array_p,*vals_p,*cnt_array_p;
PPCODE:
sort=uniq=-1;
switch(items){
case 3:
search1=search2=(int)SvIV(ST(2));
break;
view all matches for this distribution
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
void
${convention}_call_packed(symref, ret_type, ...)
void * symref
char * ret_type
PROTOTYPE: \$\$\@
PPCODE:
{
SV *sv;
#ifdef HAS_QUAD
Quad_t aquad;
unsigned Quad_t auquad;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/C/TinyCompiler.xs view on Meta::CPAN
TCCStateObj * state
PREINIT:
char * symbol_name;
void * symbol_pointer;
int i;
PPCODE:
EXTEND(SP, 2*items);
for (i = 1; i < items; i++) {
/* Get the tentative name */
symbol_name = SvPVbyte_nolen(ST(i));
view all matches for this distribution
view release on metacpan or search on metacpan
scripts/sparse.pl view on Meta::CPAN
${name}(p,...)
$typ p
PREINIT:
void *ptr; int i = 0;
${t}_t l; SPARSE_CTX_GEN(0);
PPCODE:
/*printf(\"e:%p x:%p %p\\n\",p->m, p->m->$n, p->m->$n->next);*/
$ni; l = (${t}_t)(p->m->$n);
if (GIMME_V == G_ARRAY) {
while(l && !$nt(l)) {
EXTEND(SP, 1);
scripts/sparse.pl view on Meta::CPAN
void
${name}(p,...)
$typ p
PREINIT:
struct ptr_list *l; void *ptr; int i = 0;
PPCODE:
l = (struct ptr_list *)(p->m->$n);
if (GIMME_V == G_ARRAY) {
FOR_EACH_PTR(l, ptr) {
EXTEND(SP, 1);
PUSHs(bless_${t}((${t}_t)ptr));
view all matches for this distribution
view release on metacpan or search on metacpan
ProEngineer.xs view on Meta::CPAN
ProError err;
SV *buf;
STRLEN len = 0;
ALIAS:
ProMessageToBuffer = 1
PPCODE:
/* Check for object oriented calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
void
ProMessageClear(...)
PPCODE:
ProMessageClear();
void
ProEngineer.xs view on Meta::CPAN
ProError err;
STRLEN len = 0;
ALIAS:
ProMessageStringRead = 1
ProMessagePasswordRead = 2
PPCODE:
/* printf(" items: %d\n", items); */
/* printf(" ix: %d\n", ix); */
/* Check for object oriented calling syntax */
/* */
ProEngineer.xs view on Meta::CPAN
double limit_dbl[2], *dbl_ptr = NULL;
ProError err;
ALIAS:
ProMessageIntegerRead = 1
ProMessageDoubleRead = 2
PPCODE:
/* printf(" items: %d\n", items); */
/* printf(" ix: %d\n", ix); */
/* Check for object oriented calling syntax */
/* */
ProEngineer.xs view on Meta::CPAN
INIT:
int item_idx = 0, total_items = 0;
ProMdl model=NULL;
ProError err;
SV *promdl_sv, *rv;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
ProError err;
SV *name_sv, *type_sv, *promdl_sv, *rv;
char *name_str;
ProName name_wstr;
ProMdlType type;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
ProCharName mdlname_str;
ProName mdlname_wstr;
ProError err;
SV *model_sv;
STRLEN len = 0;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
ProMdlSessionIdGet = 3
ProMdlIdGet = 4
ProMdlWindowGet = 5
ProMdlModificationVerify = 6
ProMdlSubtypeGet = 7
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
ProMdlSave = 1
ProMdlErase = 2
ProMdlEraseAll = 3
ProMdlDelete = 4
ProTreetoolRefresh = 5
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
int item_idx = 0, total_items = 0;
ProMdl model=NULL;
ProError err;
SV *rv;
ProModelitem *modelitem;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
ProModelitem *ptr;
int item_id, item_type;
SV *rv;
ALIAS:
ProDimensionInit = 1
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
int item_idx = 0, total_items = 0;
ProMdl model=NULL;
ProError err;
SV *promdl_sv, *rv;
ProModelitem *modelitem;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
IV ptr_iv;
SV *rv_uiCmdCmdActFn_cv, *rv_uiCmdCmdActFn_hv, *cmdid_sv;
SV *rv_uiCmdAccessState_cv, *rv_uiCmdAccessState_hv;
HV *module_cb_hv, *uiCmdCmdActFn_hv, *uiCmdAccessState_hv;
void (* uiCmdAccessState_fp)();
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
char *menu_name, *button_name, *button_label, *button_help, *neighbor;
int add_after_neighbor;
uiCmdCmdId cmd_id;
ProFileName msg_file_wstr;
ProError err;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
SV *proparameter_sv, *rv;
ProModelitem *modelitem;
ProParameter *parameter;
ProName w_name;
char *name;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
int item_idx = 0, total_items = 0;
ProError err;
ProParameter *parameter;
ProParamvalue *paramval;
SV *proparamval_sv, *rv;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
ProError err;
ProParameter *parameter;
ProCharName name;
SV *proparamname_sv;
STRLEN len = 0;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
SV *value_sv;
ProParamvalueValue value;
ProParamvalueType value_type;
ProCharLine str_value;
STRLEN len = 0;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
char *visit_action_key="VisitAction", *visit_filter_key="VisitFilter",
*visit_appdata_key="AppData", *visit_type_key="Type";
SV *rv_visit_filter_cv=NULL, *rv_visit_action_cv=NULL, *rv_user_appdata, *visit_type_sv;
HV *sys_appdata_hv;
void *owner;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
int item_idx = 0, total_items = 0;
ProError err;
ProDimension *dim;
SV *value_sv;
double value;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
ProEngineer.xs view on Meta::CPAN
ProError err;
ProDimension *dim;
SV *name_sv;
ProName w_name;
ProCharName name;
PPCODE:
/* Determine if OO calling syntax */
/* */
if (items >= 1 && sv_isobject(ST(0)) && sv_isa(ST(0), "CAD::ProEngineer")) {
item_idx = 1;
total_items = items - 1;
view all matches for this distribution
view release on metacpan or search on metacpan
cbor_tagged_stash = 0;
types_error_stash = 0;
types_boolean_stash = 0;
void new (char *klass)
PPCODE:
{
SV *pv = NEWSV (0, sizeof (CBOR));
SvPOK_only (pv);
cbor_init ((CBOR *)SvPVX (pv));
XPUSHs (sv_2mortal (sv_bless (
forbid_objects = F_FORBID_OBJECTS
pack_strings = F_PACK_STRINGS
text_keys = F_TEXT_KEYS
text_strings = F_TEXT_STRINGS
validate_utf8 = F_VALIDATE_UTF8
PPCODE:
{
if (enable)
self->flags |= ix;
else
self->flags &= ~ix;
get_forbid_objects = F_FORBID_OBJECTS
get_pack_strings = F_PACK_STRINGS
get_text_keys = F_TEXT_KEYS
get_text_strings = F_TEXT_STRINGS
get_validate_utf8 = F_VALIDATE_UTF8
PPCODE:
XPUSHs (boolSV (self->flags & ix));
void max_depth (CBOR *self, U32 max_depth = 0x80000000UL)
PPCODE:
self->max_depth = max_depth;
XPUSHs (ST (0));
U32 get_max_depth (CBOR *self)
CODE:
RETVAL = self->max_depth;
OUTPUT:
RETVAL
void max_size (CBOR *self, U32 max_size = 0)
PPCODE:
self->max_size = max_size;
XPUSHs (ST (0));
int get_max_size (CBOR *self)
CODE:
RETVAL = self->max_size;
OUTPUT:
RETVAL
void filter (CBOR *self, SV *filter = 0)
PPCODE:
SvREFCNT_dec (self->filter);
self->filter = filter ? newSVsv (filter) : filter;
XPUSHs (ST (0));
SV *get_filter (CBOR *self)
RETVAL = self->filter ? self->filter : NEWSV (0, 0);
OUTPUT:
RETVAL
void encode (CBOR *self, SV *scalar)
PPCODE:
PUTBACK; scalar = encode_cbor (scalar, self); SPAGAIN;
XPUSHs (scalar);
void decode (CBOR *self, SV *cborstr)
PPCODE:
PUTBACK; cborstr = decode_cbor (cborstr, self, 0); SPAGAIN;
XPUSHs (cborstr);
void decode_prefix (CBOR *self, SV *cborstr)
PPCODE:
{
SV *sv;
char *offset;
PUTBACK; sv = decode_cbor (cborstr, self, &offset); SPAGAIN;
EXTEND (SP, 2);
}
void incr_parse (CBOR *self, SV *cborstr)
ALIAS:
incr_parse_multiple = 1
PPCODE:
{
if (SvUTF8 (cborstr))
sv_utf8_downgrade (cborstr, 0);
if (!self->incr_count)
SvREFCNT_dec (self->incr_count);
self->incr_count = 0;
}
void DESTROY (CBOR *self)
PPCODE:
cbor_free (self);
PROTOTYPES: ENABLE
void encode_cbor (SV *scalar)
ALIAS:
encode_cbor = 0
encode_cbor_sharing = F_ALLOW_SHARING
PPCODE:
{
CBOR cbor;
cbor_init (&cbor);
cbor.flags |= ix;
PUTBACK; scalar = encode_cbor (scalar, &cbor); SPAGAIN;
XPUSHs (scalar);
}
void decode_cbor (SV *cborstr)
PPCODE:
{
CBOR cbor;
cbor_init (&cbor);
PUTBACK; cborstr = decode_cbor (cborstr, &cbor, 0); SPAGAIN;
XPUSHs (cborstr);
view all matches for this distribution
view release on metacpan or search on metacpan
get(self, key)
CDB_TinyCDB *self
char *key
INIT:
assert_status( self, METHOD_GET );
PPCODE:
{
unsigned int vlen = 0;
STRLEN klen = strlen(key);
if (self->alias & DOLOAD) { /* tinyfile whole in memory */
char *key
ALIAS:
getlast = DOGETLAST
INIT:
assert_status( self, METHOD_GETALL );
PPCODE:
{
unsigned int kbufsize = 2048;
unsigned int klen = 0, vlen = 0;
unsigned int lastpos = 0, lastvlen = 0;
STRLEN searchklen = strlen(key);
void
each(self)
CDB_TinyCDB *self
INIT:
assert_status( self, METHOD_EACH );
PPCODE:
{
unsigned int klen = 0, vlen = 0;
unsigned int kbufsize = 2048;
int keep_looping = 1;
void
keys(self)
CDB_TinyCDB *self
INIT:
assert_status( self, METHOD_KEYS );
PPCODE:
{
unsigned int curpos = 0;
unsigned int klen = 0, kbufsize = 2048;
if ( self->alias & DOLOAD ) { /* load */
void
finish( self, ... )
CDB_TinyCDB *self
INIT:
assert_status( self, METHOD_FINISH );
PPCODE:
{
int save_changes = 1;
int reopen = 1;
char *key;
STRLEN klen;
}
void
DESTROY(self)
CDB_TinyCDB *self
PPCODE:
{
commit( self, /* save_changes */ 0, /* reopen */ 0 );
memfree( self );
Safefree( self->fn );
if ( self->fntemp ) {
view all matches for this distribution
view release on metacpan or search on metacpan
CDB_File.xs view on Meta::CPAN
STRLEN klen, vlen;
U32 h;
SV *k;
SV *v;
PPCODE:
is_utf8 = this->is_utf8;
for (x = 1; x < items; x += 2) {
k = ST(x);
v = ST(x+1);
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Inline/C.pm view on Meta::CPAN
if ($o->{CONFIG}{_TESTING}) {
$XS .= <<END;
PREINIT:
PerlIO* stream;
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
$function($arg_name_list);
stream = PerlIO_open(\"$dir/void_test\", \"a\");
if (stream == NULL) warn(\"%s\\n\", \"Unable to open $dir/void_test for appending\");
if (PL_markstack_ptr != temp) {
inc/Inline/C.pm view on Meta::CPAN
}
else {
$XS .= <<END;
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
$function($arg_name_list);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
view all matches for this distribution
view release on metacpan or search on metacpan
fallback/const-xs.inc view on Meta::CPAN
/* NV nv; Uncomment this if you need to return NVs */
/* const char *pv; Uncomment this if you need to return PVs */
INPUT:
SV * sv;
const char * s = SvPV(sv, len);
PPCODE:
type = constant(aTHX_ s, len);
/* Return 1 or 2 items. First is error message, or undef if no error.
Second, if present, is found value */
switch (type) {
case PERL_constant_NOTFOUND:
view all matches for this distribution
view release on metacpan or search on metacpan
char * value = get_mortalspace( SZ_PFLINE );
char * min = get_mortalspace( SZ_PFLINE );
char * max = get_mortalspace( SZ_PFLINE );
char * prompt = get_mortalspace( SZ_PFLINE );
int result;
PPCODE:
if ( ParamInfo( pfile->pf, name, mode, type,
value, min, max, prompt ) )
{
EXTEND(SP, 6);
PUSHs(sv_2mortal(newSVpv(mode, 0)));
view all matches for this distribution
view release on metacpan or search on metacpan
read(stack, ...)
CIAO_Lib_StackIO * stack
PREINIT:
int idx;
char *retval;
PPCODE:
/* no particular entry requested */
if ( items == 1 )
{
/*
scalar context: return the next entry
view all matches for this distribution
view release on metacpan or search on metacpan
isisaminfo1(fd)
int fd
PREINIT:
struct dictinfo di;
int cc;
PPCODE:
cc = isindexinfo(fd,&di,0);
EXTEND(SP, 5);
PUSHs(sv_2mortal(newSViv(cc)));
PUSHs(sv_2mortal(newSViv(di.di_nkeys)));
PUSHs(sv_2mortal(newSViv(di.di_recsize)));
int idx
PREINIT:
struct keydesc kd;
int cc;
int i, j;
PPCODE:
cc = isindexinfo(fd,&kd,idx);
EXTEND(SP,1+2+3*kd.k_nparts);
PUSHs(sv_2mortal(newSViv(cc)));
PUSHs(sv_2mortal(newSViv(kd.k_flags)));
PUSHs(sv_2mortal(newSViv(kd.k_nparts)));
PREINIT:
char string[200];
char return_val[2];
double d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atof(p);
stdbl(d,string);
/* The next steps of magic are done because Perl treats
PREINIT:
char string[20];
char return_val[2];
int d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atoi(p);
stint(d,string);
/* The next steps of magic are done because Perl treats
PREINIT:
char string[20];
char return_val[2];
long d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atol(p);
stlong(d,string);
/* The next steps of magic are done because Perl treats
treats everything as string */
PREINIT:
char string[20];
char return_val[2];
float d;
int i;
PPCODE:
EXTEND(SP, length_of_field);
d = atof(p);
stfloat(d,string);
/* The next steps of magic are done because Perl treats
view all matches for this distribution
view release on metacpan or search on metacpan
_free_popt_options(aTHX_ perl_popt->options);
void
parse (SV* self_sv, ...)
PPCODE:
perl_popt_st* perl_popt = exs_structref_ptr(self_sv);
// trailing NUL - self_sv = 0
const char* stack_argv[items];
stack_argv[items - 1] = NULL;
view all matches for this distribution
view release on metacpan or search on metacpan
OUTPUT:
RETVAL
void
_entry_lock_hooks ()
PPCODE:
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSVuv(PTR2UV(pomni_unlock))));
PUSHs(sv_2mortal(newSVuv(PTR2UV(pomni_relock))));
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPAN/Audit/DB.pm view on Meta::CPAN
use warnings;
our $VERSION = '20260607.001';
sub db {
{"dists" => {"ActivePerl" => {"advisories" => [{"affected_versions" => ["==5.16.1.1601"],"cves" => ["CVE-2012-5377"],"description" => "Untrusted search path vulnerability in the installation functionality in ActivePerl 5.16.1.1601, when installed in...
}
__PACKAGE__;
view all matches for this distribution
view release on metacpan or search on metacpan
const-xs.inc view on Meta::CPAN
/* NV nv; Uncomment this if you need to return NVs */
/* const char *pv; Uncomment this if you need to return PVs */
INPUT:
SV * sv;
const char * s = SvPV(sv, len);
PPCODE:
type = constant(aTHX_ s, len);
/* Return 1 or 2 items. First is error message, or undef if no error.
Second, if present, is found value */
switch (type) {
case PERL_constant_NOTFOUND:
view all matches for this distribution
view release on metacpan or search on metacpan
char * s
char * split
PREINIT:
char *set;
int split_mode;
PPCODE:
last_cl_error = CDA_OK;
if (split == NULL || (split[0] != '\0' && split[0] != 's'))
croak("Usage: $feature_set = CWB::CL::make_set($string [, 'split' | 's']);");
split_mode = (split[0] == 's');
set = cl_make_set(s, split_mode);
char * s1
char * s2
PREINIT:
static char result[CL_DYN_STRING_SIZE]; /* static buffer for results string */
int ok;
PPCODE:
last_cl_error = CDA_OK;
ok = cl_set_intersection(result, s1, s2);
if (ok) {
XPUSHs(sv_2mortal(newSVpv(result, 0))); /* create Perl string (let Perl compute length) */
}
// NB 2017-07-02: commented out bits were amended for the new calling convention for cl_string_canonical().
// They can be deleted once we're sure it's working correctly.
//char *s_orig, *s_norm;
char *s_norm;
SV *s_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 2;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
Corpus* corpus
int type
PREINIT:
cl_string_list names;
int i, size;
PPCODE:
last_cl_error = CDA_OK;
names = cl_corpus_list_attributes(corpus, type);
size = cl_string_list_size(names);
/* never sets an error condition */
if (size > 0) {
PosAttrib attribute
PREINIT:
int i, id, size;
char *s;
SV *id_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
PosAttrib attribute
PREINIT:
int i, id, size;
char *s;
SV *s_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
cl_id2strlen(attribute, ...)
PosAttrib attribute
PREINIT:
int i, id, len, size;
SV *id_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
cl_id2freq(attribute, ...)
PosAttrib attribute
PREINIT:
int i, id, f, size;
SV *id_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
cl_cpos2id(attribute, ...)
PosAttrib attribute
PREINIT:
int i, cpos, id, size;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
PosAttrib attribute
PREINIT:
int i, cpos, size;
char *s;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
int canonicalize
PREINIT:
int number_of_matches = 0;
int *idlist;
int i;
PPCODE:
last_cl_error = CDA_OK;
idlist = cl_regex2id(attribute, pattern, canonicalize, &number_of_matches);
if (idlist != NULL) {
EXTEND(sp, number_of_matches); /* push IDs on result stack */
for (i=0; i < number_of_matches; i++)
cl_idlist2cpos(attribute, ...)
PosAttrib attribute
PREINIT:
int i, id, idlist_size, size, errors;
int *idlist, *list;
PPCODE:
last_cl_error = CDA_OK;
idlist_size = items - 1;
if (idlist_size > 0) {
Newx(idlist, idlist_size, int); /* convert argument list to list of integer IDs */
if (!idlist)
cl_cpos2struc(attribute, ...)
StrucAttrib attribute
PREINIT:
int i, cpos, struc, size;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
StrucAttrib attribute
PREINIT:
int i, cpos, size;
char *s;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
StrucAttrib attribute
PREINIT:
int i, struc, size;
char *s;
SV *struc_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
StrucAttrib attribute
PREINIT:
int i, struc, size, start, end;
int *arguments;
SV *struc_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
/* Return values on stack overwrite function arguments, starting from ST(0). This works in most
* vectorised functions since we push one return value for each argument, i.e. we store the result
StrucAttrib attribute
PREINIT:
int i, cpos, size, start, end;
int *arguments;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
/* see above why we need to store arguments in a temporary array of C ints */
Newx(arguments, size, int); /* allocate temporary array to hold arguments (converted to C ints) */
cl_cpos2boundary(attribute, ...)
StrucAttrib attribute
PREINIT:
int i, cpos, flags, size;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
StrucAttrib attribute
int test_flags
PREINIT:
int i, cpos, flags, is_boundary, size;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 2;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
cl_cpos2alg(attribute, ...)
AlignAttrib attribute
PREINIT:
int i, cpos, alg, size;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
EXTEND(sp, size);
for (i = 0; i < size; i++) {
PREINIT:
int i, alg, size;
int source_start, source_end, target_start, target_end;
int *arguments;
SV *alg_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
/* Return values on stack overwrite function arguments, starting from ST(0). This works in most
* vectorised functions since we push one return value for each argument, i.e. we store the result
PREINIT:
int i, ok, cpos, alg, size;
int source_start, source_end, target_start, target_end;
int *arguments;
SV *cpos_arg;
PPCODE:
last_cl_error = CDA_OK;
size = items - 1;
if (size > 0) {
/* Return values on stack overwrite function arguments, starting from ST(0). This works in most
* vectorised functions since we push one return value for each argument, i.e. we store the result
view all matches for this distribution
view release on metacpan or search on metacpan
FastMmap.xs view on Meta::CPAN
MU32 hash_page, hash_slot;
STRLEN pl_key_len;
FC_ENTRY
PPCODE:
/* Get key length, data pointer */
key_ptr = (void *)SvPV(key, pl_key_len);
key_len = (int)pl_key_len;
FastMmap.xs view on Meta::CPAN
STRLEN pl_key_len;
SV * val;
FC_ENTRY
PPCODE:
/* Get key length, data pointer */
key_ptr = (void *)SvPV(key, pl_key_len);
key_len = (int)pl_key_len;
FastMmap.xs view on Meta::CPAN
void * key_ptr;
STRLEN pl_key_len;
FC_ENTRY
PPCODE:
/* Get key length, data pointer */
key_ptr = (void *)SvPV(key, pl_key_len);
key_len = (int)pl_key_len;
FastMmap.xs view on Meta::CPAN
INIT:
MU32 nreads = 0, nreadhits = 0;
FC_ENTRY
PPCODE:
mmc_get_page_details(cache, &nreads, &nreadhits);
XPUSHs(sv_2mortal(newSViv((IV)nreads)));
XPUSHs(sv_2mortal(newSViv((IV)nreadhits)));
FastMmap.xs view on Meta::CPAN
int key_len, val_len;
MU32 last_access, expire_on, flags;
FC_ENTRY
PPCODE:
num_expunge = mmc_calc_expunge(cache, mode, len, &new_num_slots, &to_expunge);
if (to_expunge) {
/* Want list of expunged keys/values? */
FastMmap.xs view on Meta::CPAN
int key_len, val_len;
MU32 last_access, expire_on, flags;
FC_ENTRY
PPCODE:
it = mmc_iterate_new(cache);
/* Iterate over all items */
while ((entry_ptr = mmc_iterate_next(it))) {
view all matches for this distribution
view release on metacpan or search on metacpan
STRLEN buf_len;
flags_type flags = 0;
exptime_type exptime = 0;
int arg = 1;
SV *sv;
PPCODE:
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
key = SvPV_stable_storage(aTHX_ ST(arg), &key_len);
PROTOTYPE: $@
PREINIT:
int i, noreply;
struct result_object object =
{ NULL, result_store, NULL, NULL };
PPCODE:
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
for (i = 1; i < items; ++i)
struct xs_value_result value_res;
struct result_object object =
{ alloc_value, svalue_store, free_value, &value_res };
const char *key;
STRLEN key_len;
PPCODE:
value_res.memd = memd;
value_res.vals = NULL;
client_reset(memd->c, &object, 0);
key = SvPV(ST(1), key_len);
client_prepare_get(memd->c, ix, 0, key, key_len);
struct xs_value_result value_res;
struct result_object object =
{ alloc_value, mvalue_store, free_value, &value_res };
int i, key_count;
HV *hv;
PPCODE:
key_count = items - 1;
value_res.memd = memd;
value_res.vals = (SV *) newAV();
sv_2mortal(value_res.vals);
av_extend((AV *) value_res.vals, key_count - 1);
const char *key;
STRLEN key_len;
const char *exptime = "0";
STRLEN exptime_len = 1;
SV *sv;
PPCODE:
value_res.memd = memd;
value_res.vals = NULL;
client_reset(memd->c, &object, 0);
sv = ST(1);
SvGETMAGIC(sv);
int i, key_count;
HV *hv;
SV *sv;
const char *exptime = "0";
STRLEN exptime_len = 1;
PPCODE:
key_count = items - 2;
value_res.memd = memd;
value_res.vals = (SV *) newAV();
sv_2mortal(value_res.vals);
if (key_count > 1)
{ alloc_value, embedded_store, NULL, NULL };
int noreply;
const char *key;
STRLEN key_len;
arith_type arg = 1;
PPCODE:
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
key = SvPV_stable_storage(aTHX_ ST(1), &key_len);
PROTOTYPE: $@
PREINIT:
struct result_object object =
{ alloc_value, embedded_store, NULL, NULL };
int i, noreply;
PPCODE:
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
for (i = 1; i < items; ++i)
struct result_object object =
{ NULL, result_store, NULL, NULL };
int noreply;
const char *key;
STRLEN key_len;
PPCODE:
PERL_UNUSED_ARG(ix);
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
PROTOTYPE: $@
PREINIT:
struct result_object object =
{ NULL, result_store, NULL, NULL };
int i, noreply;
PPCODE:
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
for (i = 1; i < items; ++i)
int noreply;
const char *key;
STRLEN key_len;
exptime_type exptime = 0;
SV *sv;
PPCODE:
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
key = SvPV_stable_storage(aTHX_ ST(1), &key_len);
PROTOTYPE: $@
PREINIT:
struct result_object object =
{ NULL, result_store, NULL, NULL };
int i, noreply;
PPCODE:
object.arg = newAV();
sv_2mortal((SV *) object.arg);
noreply = (GIMME_V == G_VOID);
client_reset(memd->c, &object, noreply);
for (i = 1; i < items; ++i)
view all matches for this distribution
view release on metacpan or search on metacpan
#if (PERL_VERSION == 6)
void
decode(SV *str)
PROTOTYPE: $
PPCODE:
SV *sv=ST(0);
int RETVAL;
RETVAL=sv_utf8_decode(sv);
ST(0)=boolSV(RETVAL);
view all matches for this distribution
view release on metacpan or search on metacpan
}
}
void
find(Cache* cache, SV* key)
PPCODE:
{
/* We use PPCODE because XS mortalizes the return value */
if (!key || !SvOK(key) || !SvPOK(key)) {
croak("find key argument must be a string");
}
ST(0) = cache_find(aTHX_ cache, key);
XSRETURN(1);
view all matches for this distribution