view release on metacpan or search on metacpan
MY_CXT.empty_hv = newHV();
}
void
rx_RE_FIELDS_MAGIC(...)
PPCODE:
#ifdef RE_FIELDS_MAGIC
XSRETURN_YES;
#else
XSRETURN_NO;
#endif
Regexp::Fields::tie::curpm_map = 1
INIT:
dMY_CXT;
REGEXP *rx;
HV *hv = Nullhv;
PPCODE:
if (PL_curpm && (rx = PM_GETRE(PL_curpm)))
hv = rx_get_names(aTHX_ rx, FALSE);
if (!hv)
hv = MY_CXT.empty_hv;
XPUSHs(sv_2mortal(newRV_inc((SV*) hv)));
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:
/* 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
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
RenderMan.xs view on Meta::CPAN
######################################################################
void
RiBSplineBasis()
PPCODE:
{
EXTEND(sp,16);
PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[0][0])));
PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[0][1])));
PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[0][2])));
RenderMan.xs view on Meta::CPAN
PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[3][3])));
}
void
RiBezierBasis()
PPCODE:
{
EXTEND(sp,16);
PUSHs(sv_2mortal(newSVnv(RiBezierBasis[0][0])));
PUSHs(sv_2mortal(newSVnv(RiBezierBasis[0][1])));
PUSHs(sv_2mortal(newSVnv(RiBezierBasis[0][2])));
RenderMan.xs view on Meta::CPAN
PUSHs(sv_2mortal(newSVnv(RiBezierBasis[3][3])));
}
void
RiCatmullRomBasis()
PPCODE:
{
EXTEND(sp,16);
PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[0][0])));
PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[0][1])));
PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[0][2])));
RenderMan.xs view on Meta::CPAN
PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[3][3])));
}
void
RiHermiteBasis()
PPCODE:
{
EXTEND(sp,16);
PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[0][0])));
PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[0][1])));
PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[0][2])));
RenderMan.xs view on Meta::CPAN
PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[3][3])));
}
void
RiPowerBasis()
PPCODE:
{
EXTEND(sp,16);
PUSHs(sv_2mortal(newSVnv(RiPowerBasis[0][0])));
PUSHs(sv_2mortal(newSVnv(RiPowerBasis[0][1])));
PUSHs(sv_2mortal(newSVnv(RiPowerBasis[0][2])));
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
int OptionCode;
PREINIT:
int optionValue;
int* optionPointer;
int retval;
PPCODE:
optionPointer = &optionValue;
retval = sslGetProperty(Channel, (SSL_OPTION_CODE)OptionCode, optionPointer);
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSViv(retval)));
PUSHs(sv_2mortal(newSViv(optionValue)));
view all matches for this distribution
view release on metacpan or search on metacpan
lib/RocksDB.xs view on Meta::CPAN
OUTPUT:
RETVAL
void
RocksDB::DB::get_live_files_meta_data()
PPCODE:
std::vector<rocksdb::LiveFileMetaData> metadata;
THIS->db->GetLiveFilesMetaData(&metadata);
for (std::vector<rocksdb::LiveFileMetaData>::size_type i = 0; i < metadata.size(); i++) {
rocksdb::LiveFileMetaData data = metadata[i];
HV *hv = newHV();
lib/RocksDB.xs view on Meta::CPAN
mXPUSHs(newRV_noinc((SV*) hv));
}
void
RocksDB::DB::get_sorted_wal_files()
PPCODE:
rocksdb::VectorLogPtr files;
CROAK_ON_ERROR(THIS->db->GetSortedWalFiles(files));
for (std::vector<std::unique_ptr<rocksdb::LogFile>>::size_type i = 0; i < files.size(); i++) {
HV* hv = newHV();
std::string path_name = files[i]->PathName();
lib/RocksDB.xs view on Meta::CPAN
INIT:
CHECK_ITER_VALID(THIS);
void
rocksdb::Iterator::each()
PPCODE:
if (!THIS->Valid())
XSRETURN_EMPTY;
rocksdb::Slice key = THIS->key(), value = THIS->value();
mXPUSHs(newSVpvn(key.data(), key.size()));
mXPUSHs(newSVpvn(value.data(), value.size()));
THIS->Next();
void
rocksdb::Iterator::reverse_each()
PPCODE:
if (!THIS->Valid())
XSRETURN_EMPTY;
rocksdb::Slice key = THIS->key(), value = THIS->value();
mXPUSHs(newSVpvn(key.data(), key.size()));
mXPUSHs(newSVpvn(value.data(), value.size()));
view all matches for this distribution
view release on metacpan or search on metacpan
local/lib/perl5/x86_64-linux-thread-multi/Glib/GenPod.pm view on Meta::CPAN
at any point in this pod -- they are stripped after.
In fact, any pod is valid in here, until the =cut.
=cut
void foo (...)
PPCODE:
/* crazy code follows */
=item =for arg name (type) description
=item =for arg name description
local/lib/perl5/x86_64-linux-thread-multi/Glib/GenPod.pm view on Meta::CPAN
? (@outlist > 1
? "(".join (", ", @outlist).")"
: $outlist[0]
)." = "
: (defined $xsub->{codetype} and
$xsub->{codetype} eq 'PPCODE'
? 'list = '
: ''
);
"$retstr$call ".($argstr ? "($argstr)" : "");
view all matches for this distribution
view release on metacpan or search on metacpan
#define DUMP_PAD(pad) ;
#endif
void
new(...)
PPCODE:
{
void *r3_pad;
int branch_n = 0;
int capture_n_total = 0;
int capture_key_len_total = 0;
PUSHs(sv_2mortal(obj));
}
void
match(SV* r3_sv, SV *str_sv)
PPCODE:
void* r3_pad = SvRV(SvRV(r3_sv));
node* r3 = *(node**)r3_pad;
char *str;
STRLEN str_len;
PUSHs(sv_2mortal(newRV_noinc((SV*)captures_hv)));
}
match_entry_free(entry);
void DESTROY(SV* r3_sv)
PPCODE:
void* pad = SvRV(SvRV(r3_sv));
int branch_n = *(int*)((char*)pad + sizeof(node*));
SV** target = (SV**)((char*)pad + sizeof(node*) + sizeof(int));
for(int i=0; i<branch_n; ++i)
SvREFCNT_dec(target[i]);
view all matches for this distribution
view release on metacpan or search on metacpan
SV *coderef
PREINIT:
char *pathstr;
size_t pathlen, numcaptures = 0;
PPCODE:
SvGETMAGIC(path);
/* check for undef, empty string */
if (!SvOK(path) || !SvCUR(path) || !SvROK(coderef))
{
PREINIT:
char *pathstr;
SV *coderef;
size_t numcaptures = 0, caplen, pathlen;
PPCODE:
SvGETMAGIC(path);
/* check for undef, empty string */
if (!SvOK(path) || !SvCUR(path))
{
view all matches for this distribution
view release on metacpan or search on metacpan
}
void
new(class)
char *class
PPCODE:
{
SAVI__handle savi_h;
CISweepClassFactory2 *factory;
HRESULT status;
SV *sv;
RETVAL
void
load_data(savi_h)
SAVI::handle savi_h
PPCODE:
{
HRESULT status;
status = savi_h->pVtbl->LoadVirusData(savi_h);
}
void
version(savi_h)
SAVI::handle savi_h
PPCODE:
{
SV *sv = &PL_sv_undef;
SAVI__version savi_version;
HRESULT status;
set(savi_h, param, value, type)
SAVI::handle savi_h
char *param
char *value
int type
PPCODE:
{
HRESULT status;
status = savi_h->pVtbl->SetConfigValue(savi_h, param, type, value);
void
get(savi_h, param, type)
SAVI::handle savi_h
char *param
int type
PPCODE:
{
HRESULT status;
char value[1024];
status = savi_h->pVtbl->GetConfigValue(savi_h, param, type, 1024, value, NULL);
}
void
options(savi_h)
SAVI::handle savi_h
PPCODE:
{
CIEnumEngineConfig *options;
CIEngineConfig *option;
HRESULT status;
void
scan(savi_h, path)
SAVI::handle savi_h
char *path
PPCODE:
{
SAVI__results results;
HRESULT status;
SV *sv;
void
scan_fh(savi_h, fh)
SAVI::handle savi_h
FILE *fh
PPCODE:
{
SAVI__results results;
HRESULT status;
SV *sv;
RETVAL
void
ide_list(version)
SAVI::version version
PPCODE:
{
SAVI__version__ide ide;
SV *sv;
version->ide_list->pVtbl->Reset(version->ide_list);
}
void
name(ide)
SAVI::version::ide ide
PPCODE:
{
char ide_name[128];
if (ide->pVtbl->GetName(ide, 128, ide_name, NULL) == SOPHOS_S_OK)
XPUSHs(sv_2mortal(newSVpv(ide_name, strlen(ide_name))));
}
void
date(ide)
SAVI::version::ide ide
PPCODE:
{
SYSTEMTIME release_date;
char buf[128];
if (ide->pVtbl->GetDate(ide, &release_date) == SOPHOS_S_OK) {
RETVAL
void
viruses(results)
SAVI::results results
PPCODE:
{
CISweepResults *virus_info;
if (results) {
results->pVtbl->Reset(results);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgBindProgram (...)
PREINIT:
CGprogram program;
CGerror err;
PPCODE:
if (items != 1) {
warn ("Usage: cgBindProgram($program)");
return;
}
program = INT2PTR(CGprogram, SvIV(ST(0)));
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
cgCopyProgram (...)
PREINIT:
CGprogram program;
CGprogram new_program;
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: $new_program = cgCopyProgram($program)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgCreateContext (...)
PREINIT:
CGcontext context;
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 0) {
warn ("Usage: cgCreateContext()");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
CGprofile profile;
char *entry;
char **args;
CGprogram program;
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 6) {
warn ("Usage: $program = cgCreateProgramFromFile ($context,$type,$filename,$program_name, $profile, $entry)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
CGprofile profile;
char *entry;
char **args;
CGprogram program;
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 6) {
warn ("Usage: $program = cgCreateProgramFromFile ($context,$type,$filename,$program_name, $profile, $entry)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgDestroyContext (...)
PREINIT:
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: cgDestroyContext($context");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgDisableProfile (...)
PREINIT:
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: cgDisableProfile($profile)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
bool
cgEnableProfile (...)
PREINIT:
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: cgEnableProfile($profile)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgGetError(...)
PREINIT:
SV* err;
PPCODE:
EXTEND (SP,1);
err = get_sv(ERROR_STORE,1);
if (SvTYPE(err) == SVt_NULL) {
PUSHs (sv_2mortal(newSViv(0)));
} else {
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgGetErrorString(...)
PREINIT:
SV* err;
PPCODE:
EXTEND (SP,1);
err = get_sv(ERROR_STORE,1);
if (err == 0) {
PUSHs (sv_2mortal(newSVpv("",1)));
} else {
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgGetLastListing(...)
PREINIT:
CGcontext context;
char* listing;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: cgGetLatestProfile($context)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgGetLatestProfile(...)
PREINIT:
CGerror err;
CGprofile profile;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: cgGetLatestProfile($profile_type)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
PREINIT:
char *param_name;
CGprogram program;
CGparameter param;
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 2) {
warn ("Usage: $param= cgGetNamedParameter($program,$param_name)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgGetProfileString (...)
PREINIT:
int profile;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: $profile_string= cgGetProfileString($profile)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
profile = SvIV(ST(0));
PUSHs (sv_2mortal(newSVpv(cgGetProfileString(profile),0)));
void
cgIsProfileSupported (...)
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: $support = cgIsProfileSupported($profile)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgLoadProgram (...)
PREINIT:
CGprogram program;
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items != 1) {
warn ("Usage: cgLoadProgram($program)");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
PREINIT:
double values[16];
CGparameter param;
CGerror err;
int i;
PPCODE:
EXTEND (SP,1);
if (items != 17) {
warn ("For now cgSetMatrixParameter only supports 4x4 matrix");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
PREINIT:
double values[16];
CGparameter param;
CGerror err;
int i;
PPCODE:
EXTEND (SP,1);
if (items != 17) {
warn ("For now cgSetMatrixParameter only supports 4x4 matrix");
PUSHs (&PL_sv_undef);
return;
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
void
cgSetParameter (...)
PREINIT:
CGparameter param;
CGerror err;
PPCODE:
// TODO: Modify so it's not only the 4 param version.
EXTEND (SP,1);
if (items<2 || items>5) {
warn("Usage: cgSetParameter($param, $val1) OR");
warn("Usage: cgSetParameter($param, $val1, $val2) OR");
lib/SDL/OpenGL/Cg.xs view on Meta::CPAN
PREINIT:
CGparameter param;
CGGLenum matrix;
CGGLenum transform;
CGerror err;
PPCODE:
EXTEND (SP,1);
if (items < 2 || items > 3) {
warn ("Usage: cgSetStateMatrixParameter($param,$matrix,$transform)");
PUSHs (&PL_sv_undef);
return;
view all matches for this distribution
view release on metacpan or search on metacpan
src/Core/objects/Event.xs view on Meta::CPAN
RETVAL
SV*
event_user_data1 ( event, ... )
SDL_Event *event
PPCODE:
SDL_UserEvent * a = &(event->user);
if ( items > 1)
a->data1 = new_data( ST(1) );
if (!a->data1)
XSRETURN_EMPTY;
src/Core/objects/Event.xs view on Meta::CPAN
XSRETURN(1);
SV*
event_user_data2 ( event, ... )
SDL_Event *event
PPCODE:
SDL_UserEvent * a = &(event->user);
if ( items > 1)
a->data2 = new_data( ST(1) );
if (!a->data2)
XSRETURN_EMPTY;
view all matches for this distribution
view release on metacpan or search on metacpan
src/OpenGL.xs view on Meta::CPAN
glDisable(cap);
void
glGet ( param )
GLenum param
PPCODE:
switch (param) {
case GL_EDGE_FLAG_ARRAY:
case GL_MAP1_TEXTURE_COORD_1:
case GL_LIGHT_MODEL_TWO_SIDE:
case GL_INDEX_LOGIC_OP:
view all matches for this distribution
view release on metacpan or search on metacpan
XScreenSaver.xs view on Meta::CPAN
MODULE = SDLx::XScreenSaver PACKAGE = SDLx::XScreenSaver
void
xss_viewport_dimensions(window_id)
int window_id
PPCODE:
XWindowAttributes xwa;
if (window_id) {
if (!dpy) {
dpy = XOpenDisplay(0);
}
view all matches for this distribution
view release on metacpan or search on metacpan
xsrc/Graphics.xs view on Meta::CPAN
void
RenderWindow::getPosition()
PREINIT:
Vector2i v;
PPCODE:
v = THIS->getPosition();
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSViv(v.x)));
PUSHs(sv_2mortal(newSViv(v.y)));
xsrc/Graphics.xs view on Meta::CPAN
void
RenderWindow::getSize()
PREINIT:
Vector2u v;
PPCODE:
v = THIS->getSize();
//fprintf(stderr, "Size to %u, %u\n", v.x, v.y);
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSVuv(v.x)));
PUSHs(sv_2mortal(newSVuv(v.y)));
view all matches for this distribution
view release on metacpan or search on metacpan
void
snmp_set(sess_ref, varlist_ref, perl_callback)
SV * sess_ref
SV * varlist_ref
SV * perl_callback
PPCODE:
{
AV *varlist;
SV **varbind_ref;
SV **varbind_val_f;
AV *varbind;
void
snmp_catch(sess_ref, perl_callback)
SV * sess_ref
SV * perl_callback
PPCODE:
{
netsnmp_session *ss;
SV **sess_ptr_sv;
SV **err_str_svp;
SV **err_num_svp;
snmp_get(sess_ref, retry_nosuch, varlist_ref, perl_callback)
SV * sess_ref
int retry_nosuch
SV * varlist_ref
SV * perl_callback
PPCODE:
{
AV *varlist;
SV **varbind_ref;
AV *varbind;
I32 varlist_len;
void
snmp_getnext(sess_ref, varlist_ref, perl_callback)
SV * sess_ref
SV * varlist_ref
SV * perl_callback
PPCODE:
{
AV *varlist;
SV **varbind_ref;
AV *varbind;
I32 varlist_len;
SV * sess_ref
int nonrepeaters
int maxrepetitions
SV * varlist_ref
SV * perl_callback
PPCODE:
{
AV *varlist;
SV **varbind_ref;
AV *varbind;
I32 varlist_len;
SV * sess_ref
int nonrepeaters
int maxrepetitions
SV * varlist_ref
SV * perl_callback
PPCODE:
{
AV *varlist;
SV **varbind_ref;
AV *varbind;
I32 varlist_len;
char * agent
int generic
int specific
long uptime
SV * varlist_ref
PPCODE:
{
AV *varlist;
SV **varbind_ref;
SV **varbind_val_f;
AV *varbind;
snmp_trapV2(sess_ref,uptime,trap_oid,varlist_ref)
SV * sess_ref
char * uptime
char * trap_oid
SV * varlist_ref
PPCODE:
{
AV *varlist;
SV **varbind_ref;
SV **varbind_val_f;
AV *varbind;
SV * sess_ref
char * uptime
char * trap_oid
SV * varlist_ref
SV * perl_callback
PPCODE:
{
AV *varlist;
SV **varbind_ref;
SV **varbind_val_f;
AV *varbind;
}
void
snmp_get_select_info()
PPCODE:
{
int numfds;
fd_set fdset;
struct timeval time_val, *tvp;
int block;
view all matches for this distribution
view release on metacpan or search on metacpan
int
PSOM_Dispatch_templ(obj, meth, templ, ...)
SOMObject *obj;
char *meth;
char *templ;
PPCODE:
{
union { short s; unsigned short us; long l; unsigned long ul;
char c; unsigned char uc; float f; double d; char *cp; void *vp;
SOMObject *op;
} ret_buffer, par_buffer;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm view on Meta::CPAN
$report_args =~ s/"/\\"/g;
$report_args =~ s/^,\s+//;
$self->{func_args} = assign_func_args($self, \@args, $class);
@{ $self->{args_match} }{@args} = @args_num;
my $PPCODE = grep(/^\s*PPCODE\s*:/, @{ $self->{line} });
my $CODE = grep(/^\s*CODE\s*:/, @{ $self->{line} });
# Detect CODE: blocks which use ST(n)= or XST_m*(n,v)
# to set explicit return values.
my $EXPLICIT_RETURN = ($CODE &&
("@{ $self->{line} }" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x ));
inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm view on Meta::CPAN
print Q(<<"EOF");
# PERL_UNUSED_VAR(cv); /* -W */
EOF
}
#gcc -Wall: if an xsub has PPCODE is used
#it is possible none of ST, XSRETURN or XSprePUSH macros are used
#hence `ax' (setup by dXSARGS) is unused
#XXX: could breakup the dXSARGS; into dSP;dMARK;dITEMS
#but such a move could break third-party extensions
print Q(<<"EOF") if $PPCODE;
# PERL_UNUSED_VAR(ax); /* -Wall */
EOF
print Q(<<"EOF") if $PPCODE;
# SP -= items;
EOF
# Now do a block of some sort.
inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm view on Meta::CPAN
}
print $self->{deferred};
$self->process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD");
if ($self->check_keyword("PPCODE")) {
$self->print_section();
$self->death("PPCODE must be last thing") if @{ $self->{line} };
print "\tLEAVE;\n" if $self->{ScopeThisXSUB};
print "\tPUTBACK;\n\treturn;\n";
}
elsif ($self->check_keyword("CODE")) {
$self->print_section();
inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm view on Meta::CPAN
$self->process_keyword("CLEANUP|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");
print Q(<<"EOF") if $self->{ScopeThisXSUB};
# ]]
EOF
print Q(<<"EOF") if $self->{ScopeThisXSUB} and not $PPCODE;
# LEAVE;
EOF
# print function trailer
print Q(<<"EOF");
inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm view on Meta::CPAN
# if (errbuf[0])
# Perl_croak(aTHX_ errbuf);
EOF
if ($xsreturn) {
print Q(<<"EOF") unless $PPCODE;
# XSRETURN($xsreturn);
EOF
}
else {
print Q(<<"EOF") unless $PPCODE;
# XSRETURN_EMPTY;
EOF
}
print Q(<<"EOF");
view all matches for this distribution
view release on metacpan or search on metacpan
perl_impl/SHA.xs view on Meta::CPAN
PREINIT:
int i;
UCHR *data;
STRLEN len;
SHA *state;
PPCODE:
if ((state = getSHA(aTHX_ self)) == NULL)
XSRETURN_UNDEF;
for (i = 1; i < items; i++) {
data = (UCHR *) (SvPVbyte(ST(i), len));
while (len > MAX_WRITE_SIZE) {
perl_impl/SHA.xs view on Meta::CPAN
PREINIT:
UINT bc;
STRLEN len;
SHA *state;
UCHR *data;
PPCODE:
if ((state = getSHA(aTHX_ self)) == NULL)
XSRETURN_UNDEF;
data = (UCHR *) SvPV(packed_state, len);
if (len != (state->alg <= SHA256 ? 116U : 212U))
XSRETURN_UNDEF;
perl_impl/SHA.xs view on Meta::CPAN
PerlIO * f
PREINIT:
SHA *state;
int n;
UCHR in[IO_BUFFER_SIZE];
PPCODE:
if (!f || (state = getSHA(aTHX_ self)) == NULL)
XSRETURN_UNDEF;
while ((n = (int) PerlIO_read(f, in, sizeof(in))) > 0)
shawrite(in, (ULNG) n << 3, state);
XSRETURN(1);
perl_impl/SHA.xs view on Meta::CPAN
int n;
int cr = 0;
UCHR *src, *dst;
UCHR in[IO_BUFFER_SIZE+1];
SHA *state;
PPCODE:
if (!f || (state = getSHA(aTHX_ self)) == NULL)
XSRETURN_UNDEF;
while ((n = (int) PerlIO_read(f, in+1, IO_BUFFER_SIZE)) > 0) {
for (dst = in, src = in + 1; n; n--) {
c = *src++;
view all matches for this distribution
view release on metacpan or search on metacpan
MODULE = SPVM::ExchangeAPI PACKAGE = SPVM::ExchangeAPI
SV*
_xs_call_method(...)
PPCODE:
{
int32_t args_length = items;
// SPVM::ExchangeAPI::Error
XSRETURN(return_count);
}
SV*
_xs_dump(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_string(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_address_object(...)
PPCODE:
{
int32_t error_id = 0;
SV* sv_self = ST(0);
XSRETURN(1);
}
SV*
_xs_new_byte_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_byte_array_unsigned(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_byte_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_byte_array_from_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_short_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_short_array_unsigned(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_short_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_short_array_from_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_int_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_int_array_unsigned(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_int_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_int_array_from_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_long_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_long_array_unsigned(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_long_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_long_array_from_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_float_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_float_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_float_array_from_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_double_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_double_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_double_array_from_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_string_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_string_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_object_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_object_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_mulnum_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_mulnum_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_mulnum_array_from_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_muldim_array(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_new_muldim_array_len(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_get_exception(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_set_exception(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(0);
}
SV*
_xs_get_memory_blocks_count(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
MODULE = SPVM::BlessedObject PACKAGE = SPVM::BlessedObject
SV*
DESTROY(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
SV** sv_spvm_object_ptr = hv_fetch(hv_self, "spvm_object", strlen("spvm_object"), 0);
XSRETURN(0);
}
SV*
_xs___get_type_name(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
MODULE = SPVM::BlessedObject::String PACKAGE = SPVM::BlessedObject::String
SV*
_xs_to_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
MODULE = SPVM::BlessedObject::Array PACKAGE = SPVM::BlessedObject::Array
SV*
_xs_length(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_to_elems(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_to_bin(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
_xs_set(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(0);
}
SV*
_xs_get(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
MODULE = SPVM::BlessedObject::Class PACKAGE = SPVM::BlessedObject::Class
SV*
get_basic_type_name(...)
PPCODE:
{
SV* sv_object = ST(0);
HV* hv_object = (HV*)SvRV(sv_object);
MODULE = SPVM::Builder::Native::Compiler PACKAGE = SPVM::Builder::Native::Compiler
SV*
DESTROY(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(0);
}
SV*
create_native_compiler(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(0);
}
SV*
compile(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(0);
}
SV*
compile_anon_class(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
get_error_messages(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
get_class_file(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* compiler = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
set_start_file(...)
PPCODE:
{
SV* sv_self = ST(0);
SV* sv_start_file = ST(1);
XSRETURN(0);
}
SV*
set_start_line(...)
PPCODE:
{
SV* sv_self = ST(0);
SV* sv_start_line = ST(1);
XSRETURN(0);
}
SV*
add_include_dir(...)
PPCODE:
{
SV* sv_self = ST(0);
SV* sv_include_dir = ST(1);
MODULE = SPVM::Builder::Native::Runtime PACKAGE = SPVM::Builder::Native::Runtime
SV*
get_compiler(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_basic_types_length(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_basic_type_by_id(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_basic_type_by_name(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_env(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
SV** sv_env_ptr = hv_fetch(hv_self, "env", strlen("env"), 0);
XSRETURN(1);
}
SV*
get_basic_type_names(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
get_spvm_version_string(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
SV** sv_runtime_ptr = hv_fetch(hv_self, "runtime", strlen("runtime"), 0);
MODULE = SPVM::Builder::Native::Env PACKAGE = SPVM::Builder::Native::Env
SV*
new(...)
PPCODE:
{
SV* sv_class = ST(0);
SPVM_ENV* new_env = SPVM_NATIVE_new_env();
XSRETURN(1);
}
SV*
DESTROY(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(0);
}
SV*
set_command_info_program_name(...)
PPCODE:
{
SV* sv_env = ST(0);
SV* sv_stack = ST(1);
XSRETURN(0);
}
SV*
set_command_info_argv(...)
PPCODE:
{
SV* sv_env = ST(0);
SV* sv_stack = ST(1);
XSRETURN(0);
}
SV*
set_command_info_base_time(...)
PPCODE:
{
SV* sv_env = ST(0);
SV* sv_stack = ST(1);
XSRETURN(0);
}
SV*
call_init_methods(...)
PPCODE:
{
SV* sv_env = ST(0);
SV* sv_stack = ST(1);
XSRETURN(0);
}
SV*
destroy_class_vars(...)
PPCODE:
{
SV* sv_env = ST(0);
SV* sv_stack = ST(1);
XSRETURN(0);
}
SV*
new_stack(...)
PPCODE:
{
// Env
SV* sv_env = ST(0);
SPVM_ENV* env = SPVM_XS_UTIL_get_pointer(aTHX_ sv_env);
MODULE = SPVM::Builder::Native::Stack PACKAGE = SPVM::Builder::Native::Stack
SV*
DESTROY(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
MODULE = SPVM::Builder::Native::BasicType PACKAGE = SPVM::Builder::Native::BasicType
SV*
get_parent(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_class_dir(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_class_rel_file(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_name(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_category(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
is_anon(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_methods_length(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_method_by_index(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_method_by_name(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_method_names_by_category(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
build_precompile_class_source(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_anon_basic_type_names(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_version_string(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
MODULE = SPVM::Builder::Native::Method PACKAGE = SPVM::Builder::Native::Method
SV*
get_name(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
is_native(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
is_precompile(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
is_class_method(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
set_native_address(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(0);
}
SV*
set_precompile_address(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
MODULE = SPVM::Builder::Native::ClassFile PACKAGE = SPVM::Builder::Native::ClassFile
SV*
get_file(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_dir(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_rel_file(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_content(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
XSRETURN(1);
}
SV*
get_content_length(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
MODULE = SPVM::Builder::Native::Runtime::Info PACKAGE = SPVM::Builder::Native::Runtime::Info
SV*
get_basic_type_names(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
XSRETURN(1);
}
SV*
get_method_names(...)
PPCODE:
{
SV* sv_self = ST(0);
HV* hv_self = (HV*)SvRV(sv_self);
view all matches for this distribution
view release on metacpan or search on metacpan
DisplayItem.xs view on Meta::CPAN
SWFDisplayItem_getPosition(item)
SWF::DisplayItem item
PREINIT:
float x;
float y;
PPCODE:
SWFDisplayItem_getPosition(item, &x, &y);
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSVnv((double)x)));
PUSHs(sv_2mortal(newSVnv((double)y)));
DisplayItem.xs view on Meta::CPAN
SWFDisplayItem_getScale(item)
SWF::DisplayItem item
PREINIT:
float xScale;
float yScale;
PPCODE:
SWFDisplayItem_getScale(item, &xScale, &yScale);
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSVnv((double)xScale)));
PUSHs(sv_2mortal(newSVnv((double)yScale)));
DisplayItem.xs view on Meta::CPAN
SWFDisplayItem_getSkew(item)
SWF::DisplayItem item
PREINIT:
float xSkew;
float ySkew;
PPCODE:
SWFDisplayItem_getSkew(item, &xSkew, &ySkew);
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSVnv((double)xSkew)));
PUSHs(sv_2mortal(newSVnv((double)ySkew)));
view all matches for this distribution
view release on metacpan or search on metacpan
_x_placeholder = 19
get_stash = 20
PREINIT:
SV *RETVAL;
char *class;
PPCODE:
{
//warn("number of items %d for ix %d", items, ix);
START_SET_OR_GET_SWITCH
view all matches for this distribution
view release on metacpan or search on metacpan
void
_hole_call_sv(stashref, opmask, codesv)
SV * stashref
SV * opmask
SV * codesv
PPCODE:
/*** This code is copied from Opcode::_safe_call_sv and modified ***/
GV *gv;
AV *av;
SV *saved_PL_op_mask;
MAGIC *magic;
view all matches for this distribution
view release on metacpan or search on metacpan
const SANE_Option_Descriptor * opt;
HV* chv = (HV*) sv_2mortal((SV*) newHV());
AV* cav = (AV*) sv_2mortal((SV*) newAV());
HV* hv = (HV*) sv_2mortal((SV*) newHV());
int i;
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting option description %d from SANE_Handle %p\n", n, (void *) h);
opt = sane_get_option_descriptor (h, n);
if (!opt) croak("Error getting sane_get_option_descriptor");
if (opt->name != NULL) {
SANE_Int n
INIT:
SANE_Status status;
void * value;
const SANE_Option_Descriptor * opt;
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting option %d from SANE_Handle %p\n", n, (void *) h);
opt = sane_get_option_descriptor (h, n);
if (!opt) croak("Error getting sane_get_option_descriptor");
if ( opt->size == 0 ) {
SANE_Handle h
SANE_Int n
INIT:
SANE_Status status;
SANE_Int info;
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Setting option %d to automatic on SANE_Handle %p\n", n, (void *) h);
status = sane_control_option (h, n, SANE_ACTION_SET_AUTO, 0, &info);
sv = get_sv("Sane::_status", FALSE);
sv_setiv(sv, status);
SANE_Fixed fixed;
int i, vector_length = 0;
SV ** svp;
SANE_Word * vector;
char * string;
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Setting option %d on SANE_Handle %p\n", n, (void *) h);
opt = sane_get_option_descriptor (h, n);
if (!opt) croak("Error getting sane_get_option_descriptor");
switch (opt->type) {
SANE_Handle handle
INIT:
SANE_Status status;
SANE_Parameters params;
HV* hv = (HV*) sv_2mortal((SV*) newHV());
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting parameters for SANE_Handle %p\n", (void *) handle);
status = sane_get_parameters (handle, ¶ms);
sv = get_sv("Sane::_status", FALSE);
sv_setiv(sv, status);
SANE_Int max_length
INIT:
SANE_Status status;
SANE_Byte * data;
SANE_Int length;
PPCODE:
data = malloc (max_length);
status = sane_read (handle, data, max_length, &length);
SV* sv = get_sv("Sane::_status", FALSE);
sv_setiv(sv, status);
if (status) {
sane_get_select_fd (handle)
SANE_Handle handle
INIT:
SANE_Status status;
SANE_Int fd;
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Getting file handle of SANE_Handle %p\n", (void *) handle);
status = sane_get_select_fd (handle, &fd);
sv = get_sv("Sane::_status", FALSE);
sv_setiv(sv, status);
void
sane__init (class)
INIT:
SANE_Status status;
SANE_Int version_code;
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Running sane_init\n");
status = sane_init(&version_code, NULL);
sv = get_sv("Sane::_status", FALSE);
sv_setiv(sv, status);
## LEAVE;
void
sane__get_version (class, version_code)
SANE_Int version_code
PPCODE:
XPUSHs(sv_2mortal(newSViv(SANE_VERSION_MAJOR (version_code))));
XPUSHs(sv_2mortal(newSViv(SANE_VERSION_MINOR (version_code))));
XPUSHs(sv_2mortal(newSViv(SANE_VERSION_BUILD (version_code))));
void
SANE_Status status;
AV * array;
int i;
const SANE_Device ** device_list;
array = (AV *)sv_2mortal((SV *)newAV());
PPCODE:
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("Running sane_get_devices\n");
status = sane_get_devices (&device_list, local);
sv = get_sv("Sane::_status", FALSE);
sv_setiv(sv, status);
sane__open(class, name)
SANE_String_Const name
INIT:
SANE_Status status;
SANE_Handle h;
PPCODE:
status = sane_open(name, &h);
SV* sv = get_sv("Sane::DEBUG", FALSE);
if (SvTRUE(sv)) printf("sane_open returned SANE_Handle %p\n", (void *) h);
sv = get_sv("Sane::_status", FALSE);
sv_setiv(sv, status);
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
lib/Scalar/Induce.xs view on Meta::CPAN
void
induce(block, var)
CV* block;
SV* var;
PROTOTYPE: &$
PPCODE:
SAVESPTR(DEFSV);
DEFSV = sv_mortalcopy(var);
while (SvOK(DEFSV)) {
PUSHMARK(SP);
call_sv((SV*)block, G_ARRAY | G_NOARGS);
view all matches for this distribution
view release on metacpan or search on metacpan
ListUtil.xs view on Meta::CPAN
none = 0
all = 1
any = 2
notall = 3
PROTOTYPE: &@
PPCODE:
{
int ret_true = !(ix & 2); /* return true at end of loop for none/all; false for any/notall */
int invert = (ix & 1); /* invert block test for all/notall */
SV **args = &PL_stack_base[ax];
CV *cv = sv_to_cv(block,
ListUtil.xs view on Meta::CPAN
head(size,...)
PROTOTYPE: $@
ALIAS:
head = 0
tail = 1
PPCODE:
{
int size = 0;
int start = 0;
int end = 0;
int i = 0;
ListUtil.xs view on Meta::CPAN
}
void
pairs(...)
PROTOTYPE: @
PPCODE:
{
int argi = 0;
int reti = 0;
HV *pairstash = get_hv("List::Util::_Pair::", GV_ADD);
ListUtil.xs view on Meta::CPAN
}
void
unpairs(...)
PROTOTYPE: @
PPCODE:
{
/* Unlike pairs(), we're going to trash the input values on the stack
* almost as soon as we start generating output. So clone them first
*/
int i;
ListUtil.xs view on Meta::CPAN
}
void
pairkeys(...)
PROTOTYPE: @
PPCODE:
{
int argi = 0;
int reti = 0;
if(items % 2 && ckWARN(WARN_MISC))
ListUtil.xs view on Meta::CPAN
}
void
pairvalues(...)
PROTOTYPE: @
PPCODE:
{
int argi = 0;
int reti = 0;
if(items % 2 && ckWARN(WARN_MISC))
ListUtil.xs view on Meta::CPAN
void
pairfirst(block,...)
SV *block
PROTOTYPE: &@
PPCODE:
{
GV *agv,*bgv;
CV *cv = sv_to_cv(block, "pairfirst");
I32 ret_gimme = GIMME_V;
int argi = 1; /* "shift" the block */
ListUtil.xs view on Meta::CPAN
void
pairgrep(block,...)
SV *block
PROTOTYPE: &@
PPCODE:
{
GV *agv,*bgv;
CV *cv = sv_to_cv(block, "pairgrep");
I32 ret_gimme = GIMME_V;
ListUtil.xs view on Meta::CPAN
void
pairmap(block,...)
SV *block
PROTOTYPE: &@
PPCODE:
{
GV *agv,*bgv;
CV *cv = sv_to_cv(block, "pairmap");
SV **args_copy = NULL;
I32 ret_gimme = GIMME_V;
ListUtil.xs view on Meta::CPAN
zip_longest = ZIP_LONGEST
zip_shortest = ZIP_SHORTEST
mesh = ZIP_MESH
mesh_longest = ZIP_MESH_LONGEST
mesh_shortest = ZIP_MESH_SHORTEST
PPCODE:
Size_t nlists = items; /* number of lists */
AV **lists; /* inbound lists */
Size_t len = 0; /* length of longest inbound list = length of result */
Size_t i;
bool is_mesh = (ix & ZIP_MESH);
ListUtil.xs view on Meta::CPAN
set_prototype(proto, code)
SV *proto
SV *code
PREINIT:
SV *cv; /* not CV * */
PPCODE:
SvGETMAGIC(code);
if(!SvROK(code))
croak("set_prototype: not a reference");
cv = SvRV(code);
ListUtil.xs view on Meta::CPAN
int utf8flag = SvUTF8(name);
#if PERL_VERSION_LT(5, 41, 3) || PERL_VERSION_GT(5, 41, 5)
int quotes_seen = 0;
bool need_subst = FALSE;
#endif
PPCODE:
if (!SvROK(sub) && SvGMAGICAL(sub))
mg_get(sub);
if (SvROK(sub))
cv = (CV *) SvRV(sub);
else if (SvTYPE(sub) == SVt_PVGV)
ListUtil.xs view on Meta::CPAN
SV *code
PREINIT:
CV *cv;
GV *gv;
const char *stashname;
PPCODE:
if (!SvROK(code) && SvGMAGICAL(code))
mg_get(code);
if(!SvROK(code) || SvTYPE(cv = (CV *)SvRV(code)) != SVt_PVCV)
croak("Not a subroutine reference");
view all matches for this distribution
view release on metacpan or search on metacpan
Instance.xs view on Meta::CPAN
#endif /* !USE_ITHREADS */
void
generate_for(self, SV* klass, const char* predicate_name = NULL)
PPCODE:
{
STRLEN klass_len;
const char* klass_pv;
HV* stash;
CV* xsub;
view all matches for this distribution
view release on metacpan or search on metacpan
INCLUDE: const-xs.inc
void
when_modified(SV * target, SV * handler)
PROTOTYPE: $&
PPCODE:
hook_watcher_magic(aTHX_ target, handler, &modified_vtbl);
SPAGAIN;
void
when_destroyed(SV * target, SV * handler)
PROTOTYPE: $&
PPCODE:
hook_watcher_magic(aTHX_ target, handler, &destroyed_vtbl);
SPAGAIN;
view all matches for this distribution