view release on metacpan or search on metacpan
xs/xxHash.xs view on Meta::CPAN
OUTPUT:
RETVAL
void
xxhash3_64bits_stream( UV seed )
PPCODE:
XXH64_state_t * state = XXH64_createState();
if( !state )
croak("Allocate 64bits xxHash state failed.");
if( XXH64_reset(state, seed) == XXH_ERROR )
croak("Initialize 64bits xxHash state failed.");
xs/xxHash.xs view on Meta::CPAN
sv_magicext(canceller, NULL, PERL_MAGIC_ext, &canceller_vtbl, (const char*)state, 0);
mPUSHs(newRV_noinc(canceller));
void
xxhash3_64bits_stream_update(SV * state_RV, SV * data_SV)
PPCODE:
if( !SvROK(state_RV) )
croak("This is not a 64bits xxHash state variable.");
MAGIC * mg = mg_findext(SvRV(state_RV), PERL_MAGIC_ext, &canceller_vtbl);
if( !mg )
croak("This is not a 64bits xxHash state variable.");
xs/xxHash.xs view on Meta::CPAN
if( XXH64_update((XXH64_state_t*)mg->mg_ptr, buf, len) == XXH_ERROR )
croak("Update 64bits xxHash state failed.");
void
xxhash3_64bits_stream_digest(SV * state_RV)
PPCODE:
dXSTARG;
if( !SvROK(state_RV) )
croak("This is not a 64bits xxHash state variable.");
MAGIC * mg = mg_findext(SvRV(state_RV), PERL_MAGIC_ext, &canceller_vtbl);
if( !mg )
xs/xxHash.xs view on Meta::CPAN
PUSHu((UV) XXH64_digest((XXH64_state_t*)mg->mg_ptr));
void
xxhash3_64bits_stream_digest_hex(SV * state_RV)
PPCODE:
if( !SvROK(state_RV) )
croak("This is not a 64bits xxHash state variable.");
MAGIC * mg = mg_findext(SvRV(state_RV), PERL_MAGIC_ext, &canceller_vtbl);
if( !mg )
croak("This is not a 64bits xxHash state variable.");
view all matches for this distribution
view release on metacpan or search on metacpan
inc/CryptX_AuthEnc_CCM.xs.inc view on Meta::CPAN
OUTPUT:
RETVAL
void
encrypt_done(Crypt::AuthEnc::CCM self)
PPCODE:
{
int rv;
unsigned char tag[MAXBLOCKSIZE];
unsigned long tag_len = MAXBLOCKSIZE;
inc/CryptX_AuthEnc_CCM.xs.inc view on Meta::CPAN
zeromem(tag, sizeof(tag));
}
void
decrypt_done(Crypt::AuthEnc::CCM self, ...)
PPCODE:
{
int rv;
unsigned char tag[MAXBLOCKSIZE];
unsigned long tag_len = MAXBLOCKSIZE;
STRLEN expected_tag_len;
inc/CryptX_AuthEnc_CCM.xs.inc view on Meta::CPAN
}
}
void
ccm_encrypt_authenticate(char *cipher_name, SV *key, SV *nonce, SV *header, unsigned long tag_len, SV *plaintext)
PPCODE:
{
STRLEN k_len = 0, n_len = 0, h_len = 0, pt_len = 0;
unsigned char *k = NULL, *n = NULL, *h = NULL, *pt = NULL;
int rv, id;
unsigned char tag[MAXBLOCKSIZE];
inc/CryptX_AuthEnc_CCM.xs.inc view on Meta::CPAN
XPUSHs(sv_2mortal(newSVpvn((char*)tag, tag_len)));
}
void
ccm_decrypt_verify(char *cipher_name, SV *key, SV *nonce, SV *header, SV *ciphertext, SV *tagsv)
PPCODE:
{
STRLEN k_len = 0, n_len = 0, h_len = 0, ct_len = 0, t_len = 0;
unsigned char *k = NULL, *n = NULL, *h = NULL, *ct = NULL, *t = NULL;
int rv, id;
unsigned char tag[MAXBLOCKSIZE];
view all matches for this distribution
view release on metacpan or search on metacpan
OUTPUT:
RETVAL
int
exec(...)
PPCODE:
int gimme = GIMME_V;
int debug = 0;
int is_object;
HV* myhash;
SV** out_p;
view all matches for this distribution
view release on metacpan or search on metacpan
OUTPUT:
RETVAL
void
getCdkScreenDim()
PPCODE:
{
XPUSHs (sv_2mortal(newSViv(GCDKSCREEN->window->_maxy)));
XPUSHs (sv_2mortal(newSViv(GCDKSCREEN->window->_maxx)));
}
}
void
Info(object)
CDKSCROLL * object
PPCODE:
{
int currentItem = object->currentItem;
int size = object->listSize;
XPUSHs (sv_2mortal (newSViv(size)));
RETVAL
void
Activate(object,...)
CDKMATRIX * object
PPCODE:
{
AV *cellInfo = newAV();
char *info[MAX_MATRIX_ROWS][MAX_MATRIX_COLS];
int subSize[MAX_MATRIX_ROWS];
int x, y, value, arrayLen, matrixlen;
}
void
GetDim(object)
CDKMATRIX * object
PPCODE:
{
XPUSHs (sv_2mortal(newSViv(object->rows)));
XPUSHs (sv_2mortal(newSViv(object->cols)));
}
RETVAL
void
Activate(object,...)
CDKSELECTION * object
PPCODE:
{
chtype Keys[300];
int arrayLen;
int value, x;
}
void
Get(object)
CDKSWINDOW * object
PPCODE:
{
int x;
char *temp;
/* Push each item onto the stack. */
RETVAL
void
Activate(object,...)
CDKALPHALIST * object
PPCODE:
{
SV *sv = (SV *)&sv_undef;
chtype Keys[300];
int arrayLen;
char *value;
RETVAL
void
Activate(object,...)
CDKCALENDAR * object
PPCODE:
{
chtype Keys[300];
int arrayLen;
if (items > 1)
void
Inject(object,key)
CDKCALENDAR * object
chtype key = sv2chtype ($arg);
PPCODE:
{
int value = injectCDKCalendar (object,key);
if (object->exitType == vESCAPE_HIT ||
object->exitType == vEARLY_EXIT)
{
}
void
GetDate(object)
CDKCALENDAR * object
PPCODE:
{
XPUSHs (sv_2mortal(newSViv(object->day)));
XPUSHs (sv_2mortal(newSViv(object->month)));
XPUSHs (sv_2mortal(newSViv(object->year)));
}
view all matches for this distribution
view release on metacpan or search on metacpan
void
cvGetDims(const CvArr* arr, ...)
ALIAS: GetDims = 1
ALIAS: getDims = 2
PROTOTYPE: $;\@
PPCODE:
const int verbose = 0;
int sizes[CV_MAX_DIM]; int i;
int dims = cvGetDims(arr, sizes);
if (items == 2) {
AV* av_sizes = (AV*)SvRV(ST(1)); av_clear(av_sizes);
view all matches for this distribution
view release on metacpan or search on metacpan
CyberSource.xs view on Meta::CPAN
PROTOTYPES: ENABLE
void
ics_send( request )
SV *request;
PPCODE:
ics_msg *icsorder;
ics_msg *res;
char *rcode;
int status = -1;
view all matches for this distribution
view release on metacpan or search on metacpan
0.04 2018-11-29
- properly return an empty list from the following method calls: "read",
"status", "rawname_from_name", and "name_from_rawname" (remove an invalid
use of "XSRETURN_UNDEF" macro, which may only be used in a "CODE" block,
while "PPCODE" implicitly returns an empty list when nothing is pushed on
stack)
0.03 2018-11-24
- remove hard-coded file names in tests and replace them with a File::Temp's
"tmpnam" function call that returns the full name of a temporary file
view all matches for this distribution
view release on metacpan or search on metacpan
OUTPUT:
RETVAL
void
DESTROY( SPEEDYB* THIS )
PPCODE:
// printf( "%s() - THIS => [%p]\n", __func__, THIS );
LOG( "THIS => [%p]", THIS );
if (items != 1)
croak("THIS");
// XXX - eek. no error-check on THIS (nullptr?)
get( SPEEDYB* THIS, char* key )
PREINIT:
speedyb_rc_t rv;
char* val;
uint len;
PPCODE:
// printf( "%s() - THIS => [%p]; key => [%s]\n", __func__, THIS, key );
LOG( "THIS => [%p]; key => [%s]", THIS, key );
if ( ! THIS->open )
croak("DB::SPEEDYB::get() - not open; aborting" );
rv = speedyb_get( &(THIS->reader), key, strlen(key), &val, &len );
speedyb_rc_t rv;
char* key;
uint klen;
char* val;
uint vlen;
PPCODE:
// printf( "%s() - THIS => [%p]\n", __func__, THIS );
LOG( "THIS => [%p]", THIS );
if ( ! THIS->open )
croak("DB::SPEEDYB::each() - not open; aborting" );
if ( ! THIS->iter )
void
count( SPEEDYB* THIS )
PREINIT:
speedyb_rc_t rv;
uint nkeys;
PPCODE:
// printf( "%s() - THIS => [%p]\n", __func__, THIS );
LOG( "THIS => [%p]\n", THIS );
if ( ! THIS->open )
croak("DB::SPEEDYB::count() - not open; aborting" );
rv = speedyb_get_num_keys( &(THIS->reader), &nkeys );
view all matches for this distribution
view release on metacpan or search on metacpan
void
sqleatin(pNodeName, pUserName, pPassword)
char* pNodeName
char* pUserName
char* pPassword
PPCODE:
{
SV *Return;
sqleatin(pNodeName, pUserName, pPassword, &global_sqlca);
if (global_sqlca.sqlcode == SQL_RC_OK) {
char *db_alias
char *userid
char *passwd
SV *attrs;
PPCODE:
{
SQLRETURN ret;
SQLHANDLE db_handle;
int error = 0;
SV **elem, *value;
#
void
db_disconnect(db_alias)
char *db_alias
PPCODE:
{
SQLRETURN ret;
SQLHANDLE db_handle;
int error = 0;
SV **elem;
# Cleanup all handles at program end. Invoked from END in perl module.
#
void
cleanup_connections()
PPCODE:
{
_do_cleanup_connections();
}
db2MonitorSwitches(switches, version, node)
SV *switches
int version
int node
PPCODE:
{
db2MonitorSwitchesData switchesData;
struct sqlm_recording_group switchesList[SQLM_NUM_GROUPS];
sqluint32 outputFormat;
char *key;
struct sqlma * sqlma_data
int version
int node
int class
PPCODE:
{
sqluint32 size;
db2GetSnapshotSizeData getSnapshotSizeParam;
memset(&getSnapshotSizeParam, 0, sizeof(getSnapshotSizeParam));
int class
int buffer_size
int buffer_increment
int store_results
PPCODE:
{
db2GetSnapshotData getSnapshotParam;
char *output_buffer;
db2Uint32 output_format;
SV *params
SV *flags
char *dbname
int version
PPCODE:
{
char *buffer, *buffer_ptr, *key;
size_t buffer_size;
int array_length, counter, *sizes, error = 0;
AV *params_array;
SV *params
SV *flags
char *dbname
int version
PPCODE:
{
char *key;
int array_length, counter, error = 0;
AV *params_array;
HV *flags_hash;
#
void
db2DatabaseDirectory(path)
char *path
PPCODE:
{
unsigned short num_entries;
SV *Return;
AV *retval;
int counter, error = 0;
#
void
sqlecadb(params)
SV *params
PPCODE:
{
char *dbname = NULL, *db_alias = NULL, *node_name = NULL;
char *path = NULL, *comment = NULL, *principal = NULL;
unsigned char db_type = 0x00;
unsigned short auth = SQL_AUTHENTICATION_NOT_SPEC;
#
void
sqleuncd(db_alias)
char *db_alias
PPCODE:
{
sqleuncd(db_alias, &global_sqlca);
if (global_sqlca.sqlcode != SQL_RC_OK) {
warn("Call to sqleuncd() failed with sqlcode %d",
global_sqlca.sqlcode);
# 'Alias', 'Path' or undef on failure
#
void
db2NodeDirectory()
PPCODE:
{
unsigned short dir_handle, num_entries;
SV *Return;
AV *retval;
int counter, error = 0;
#
void
sqlectnd(params)
SV *params
PPCODE:
{
char protocol;
struct sqle_node_struct generic_node_info = { SQL_NODE_STR_ID, 0, "", "", 0 };
struct sqle_node_tcpip tcpip_node_info = { "", "" };
struct sqle_node_local local_node_info = { "" };
#
void
sqleuncn(node_name)
char *node_name
PPCODE:
{
sqleuncn(node_name, &global_sqlca);
if (global_sqlca.sqlcode != SQL_RC_OK) {
warn("Call to sqleuncn() failed with sqlcode %d",
global_sqlca.sqlcode);
# 'Alias', 'Path' or undef on failure
#
void
db2DCSDirectory()
PPCODE:
{
short num_entries;
SV *Return;
AV *retval;
int error = 0;
#
void
sqlegdad(params)
SV *params
PPCODE:
{
struct sql_dir_entry dcs_node_info = { SQL_DCS_STR_ID, 0, 0, "", "", "", "", "" };
char *key;
I32 keylen;
SV *value;
#
void
sqlegdel(database)
char *database
PPCODE:
{
struct sql_dir_entry dcs_node_info = { SQL_DCS_STR_ID, 0, 0, "", "", "", "", "" };
if (strlen(database) > sizeof(dcs_node_info.ldb))
croak("Database name '%'s is too long - maximum is '%d' characters\n", database, sizeof(dcs_node_info.ldb));
#
void
sqlefrce(params)
SV *params
PPCODE:
{
long num_agent_ids;
sqluint32 *agent_ids;
/*
SV *lob_files
SV *export_options
SV *xml_paths
SV *xml_files
PPCODE:
{
int error = 0;
void *newz_ptr;
SV *Return;
struct sqlchar *filetype_mod = NULL;
char *file_options
SV *import_options
SV *lob_paths
SV *xml_paths
PPCODE:
{
int error = 0;
SV *value;
struct sqlchar *filetype_mod = NULL;
#ifdef ADMIN_API_HAVE_IMPORT_LONG_ACTION /* DB2 V9.5 and up */
SV *load_options
SV *dpf_options
SV *lob_paths
SV *xml_paths
PPCODE:
{
int error = 0;
SV *value;
char *key;
void *newz_ptr;
db2LoadQuery(table_name, msg_type, msg_file)
char *table_name
char *msg_type
char *msg_file
PPCODE:
{
db2LoadQueryStruct query_info;
db2LoadQueryOutputStruct output_info;
memset(&query_info, 0, sizeof(query_info));
sqlarbnd(dbname, package, options)
char *dbname
char *package
SV *options
PPCODE:
{
struct sqlopt *rebind_options = NULL;
int num_opts, rc, error = 0;
rc = check_connection(dbname);
char *dbname
char *action
char *obj_name
char *start_time
PPCODE:
{
struct db2HistoryOpenStruct open_info =
{ NULL, NULL, NULL, 0, 0, DB2HISTORY_LIST_HISTORY, 0 };
struct db2HistoryGetEntryStruct entry_info;
struct db2HistoryData entry_data;
void
db2ClientInfo(dbname, client_info)
char *dbname
SV *client_info
PPCODE:
{
struct sqle_client_info client_app_info[4]; /* Max no of attributes */
HV *info, *retval;
I32 keylen;
SV *value, *Return;
char *db_alias;
SV *target;
SV *tbspaces;
SV *options;
PPCODE:
{
db2BackupStruct backup_info;
db2MediaListStruct location_info = { NULL, 0, 0 };
char **locations = NULL;
db2TablespaceStruct tablespace_info = { NULL, 0 };
# - String with error message / undef
#
void
sqlaintp()
PPCODE:
{
char buffer[MESSAGE_BUFFER_SIZE];
int status;
SV *Return;
# as IBM does not document it...
#
void
sqlogstt()
PPCODE:
{
char buffer[MESSAGE_BUFFER_SIZE];
int status;
SV *Return;
view all matches for this distribution
view release on metacpan or search on metacpan
ex/Enums.patch view on Meta::CPAN
}
+ void
+ Enums(self)
+ SV *self
+ PPCODE:
+ {
+ HRESULT hr;
+ UINT cp = cpDefault;
+ HV *stash = gv_stashpv(szWINOLE, TRUE);
+ HV *hv;
view all matches for this distribution
view release on metacpan or search on metacpan
void
DescribeCol(sth, colno)
SV *sth
int colno
PPCODE:
char ColumnName[SQL_MAX_COLUMN_NAME_LEN];
I16 NameLength;
I16 DataType;
U32 ColumnSize;
# scheme
void
GetFunctions(dbh, func)
SV * dbh
int func
PPCODE:
UWORD pfExists[100];
RETCODE rc;
int i;
D_imp_dbh(dbh);
rc = SQLGetFunctions(imp_dbh->hdbc, func, pfExists);
void
data_sources(drh, attr = NULL)
SV* drh;
SV* attr;
PROTOTYPE: $;$
PPCODE:
{
int numDataSources = 0;
UWORD fDirection = SQL_FETCH_FIRST;
RETCODE rc;
UCHAR dsn[SQL_MAX_DSN_LENGTH+1+11 /* strlen("DBI:Adabas:") */];
view all matches for this distribution
view release on metacpan or search on metacpan
void
DESTROY(dbh)
SV * dbh
PPCODE:
D_imp_dbh(dbh);
ST(0) = &PL_sv_yes;
if (!DBIc_IMPSET(imp_dbh)) { /* was never fully set up */
STRLEN lna;
if (DBIc_WARN(imp_dbh) && !PL_dirty && DBIS->debug >= 2)
void
fetchrow_array(sth)
SV * sth
ALIAS:
fetchrow = 1
PPCODE:
D_imp_sth(sth);
AV *av = dbd_st_fetch(sth, imp_sth);
if (av) {
int num_fields = AvFILL(av)+1;
int i;
void
DESTROY(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
ST(0) = &PL_sv_yes;
if (!DBIc_IMPSET(imp_sth)) { /* was never fully set up */
STRLEN lna;
if (DBIc_WARN(imp_sth) && !PL_dirty && DBIS->debug >= 2)
view all matches for this distribution
view release on metacpan or search on metacpan
void
DESTROY(dbh)
SV * dbh
PPCODE:
D_imp_dbh(dbh);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_dbh)) { /* was never fully set up */
if (DBIc_WARN(imp_dbh) && !dirty && dbis->debug >= 2)
warn("Database handle %s DESTROY ignored - never set up",
# scheme
void
_GetFunctions(dbh, func)
SV * dbh
int func
PPCODE:
UWORD pfExists[100];
RETCODE rc;
int i;
D_imp_dbh(dbh);
rc = SQLGetFunctions(imp_dbh->hdbc, func, pfExists);
void
fetchrow(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
AV *av;
if (DBIc_COMPAT(imp_sth) && GIMME == G_SCALAR) { /* XXX Oraperl */
/* This non-standard behaviour added only to increase the */
/* performance of the oraperl emulation layer (Oraperl.pm) */
void
DESTROY(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_sth)) { /* was never fully set up */
if (DBIc_WARN(imp_sth) && !dirty && dbis->debug >= 2)
warn("Statement handle %s DESTROY ignored - never set up",
void
DescribeCol(sth, colno)
SV *sth
int colno
PPCODE:
char ColumnName[SQL_MAX_COLUMN_NAME_LEN];
I16 NameLength;
I16 DataType;
U32 ColumnSize;
view all matches for this distribution
view release on metacpan or search on metacpan
char * errstr = ""; /* error message */
unsigned char connected = 0; /* connected flag */
unsigned char dbExists = 0; /* dbExists flag */
unsigned char dbConsistent = 0; /* dbConsistent flag */
unsigned char network = 0; /* indicates a network connection */
PPCODE:
{
// First, we always need an environment handle before
// we are able to do anything else.
// NOTE
PUSHs(sv_2mortal(newSVpv(errstr, 0))); /* error message == '', let Perl determine the length */
XSRETURN(5); /* return from XSUB */
//return ( $henv, $hcon, $htra, $err, $errstr );
} // end PPCODE
void
dtf_disconnect (henv, hcon, htra)
int htra
PREINIT:
unsigned short err = 0; /* error code */
char * errstr = ""; /* error message */
unsigned char connected = 0; /* connected flag */
PPCODE:
{
if (htra != DTFHANDLE_NULL) {
if ( (err = DtfTraDestroy(&htra) ) != DTF_ERR_OK) {
errstr = "ERROR(dtf_disconnect): Can't destroy transaction handle";
PUSHs(sv_2mortal(newSVpv(errstr, 0))); /* error message, let Perl determine the length */
XSRETURN(2); /* return from XSUB */
//return ($err, $errstr);
}// end PPCODE
view all matches for this distribution
view release on metacpan or search on metacpan
Informix4.xs view on Meta::CPAN
void
DESTROY(dbh)
SV * dbh
PPCODE:
D_imp_dbh(dbh);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_dbh)) { /* was never fully set up */
if (DBIc_WARN(imp_dbh) && !dirty && dbis->debug >= 2)
warn("Database handle %s DESTROY ignored - never set up",
Informix4.xs view on Meta::CPAN
void
fetchrow_array(sth)
SV * sth
ALIAS:
fetchrow = 1
PPCODE:
D_imp_sth(sth);
AV *av;
av = dbd_st_fetch(sth, imp_sth);
if (av) {
int num_fields = AvFILL(av)+1;
Informix4.xs view on Meta::CPAN
void
DESTROY(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_sth)) { /* was never fully set up */
if (DBIc_WARN(imp_sth) && !dirty && dbis->debug >= 2)
warn("Statement handle %s DESTROY ignored - never set up",
view all matches for this distribution
view release on metacpan or search on metacpan
void
connected(dbh, ...)
SV* dbh
PPCODE:
/* Called by DBI when connect method finished */
D_imp_dbh(dbh);
imp_dbh->connected = TRUE;
XSRETURN_EMPTY;
void
type_info_all(dbh)
SV* dbh
PPCODE:
{
PERL_UNUSED_VAR(dbh);
ST(0) = sv_2mortal(newRV_noinc((SV*) mariadb_db_type_info_all()));
XSRETURN(1);
}
void
quote(dbh, str, type=NULL)
SV* dbh
SV* str
SV* type
PPCODE:
{
SV* quoted;
D_imp_dbh(dbh);
ASYNC_CHECK_XS(dbh);
OUTPUT:
RETVAL
void mariadb_async_ready(dbh)
SV* dbh
PPCODE:
{
int retval;
retval = mariadb_db_async_ready(dbh);
if(retval > 0) {
}
}
void _async_check(dbh)
SV* dbh
PPCODE:
{
D_imp_dbh(dbh);
ASYNC_CHECK_XS(dbh);
XSRETURN_YES;
}
SV *catalog
SV *schema
SV *table
SV *field
SV *attr
PPCODE:
{
/* Compatibility for DBI version prior to 1.642 which does not support dbd_st_last_insert_id API */
D_imp_sth(sth);
ST(0) = mariadb_st_last_insert_id(sth, imp_sth, catalog, schema, table, field, attr);
XSRETURN(1);
OUTPUT:
RETVAL
void mariadb_async_ready(sth)
SV* sth
PPCODE:
{
int retval;
retval = mariadb_db_async_ready(sth);
if(retval > 0) {
}
}
void _async_check(sth)
SV* sth
PPCODE:
{
D_imp_sth(sth);
D_imp_dbh_from_sth;
ASYNC_CHECK_XS(sth);
XSRETURN_YES;
view all matches for this distribution
view release on metacpan or search on metacpan
info_t *curr1;
HV *hv0;
HV *hv1;
HV *hv2;
SV *rv;
PPCODE:
if (items >= 2)
XSRETURN_UNDEF;
dbname = 0;
if (items == 1 && SvPOKp (ST(0)))
view all matches for this distribution
view release on metacpan or search on metacpan
void
DescribeCol(sth, colno)
SV *sth
int colno
PPCODE:
char ColumnName[SQL_MAX_COLUMN_NAME_LEN];
I16 NameLength;
I16 DataType;
U32 ColumnSize;
# scheme
void
GetFunctions(dbh, func)
SV * dbh
unsigned short func
PPCODE:
UWORD pfExists[SQL_API_ODBC3_ALL_FUNCTIONS_SIZE];
RETCODE rc;
int i;
int j;
D_imp_dbh(dbh);
void
sql_data_sources(drh, attr = NULL)
SV* drh;
SV* attr;
PROTOTYPE: $;$
PPCODE:
{
#ifdef DBD_ODBC_NO_DATASOURCES
XSRETURN(0);
#else
const unsigned char *dsnPrefix = "DBI:Mimer:";
view all matches for this distribution
view release on metacpan or search on metacpan
dbdnet/NET.xs view on Meta::CPAN
XST_mIV(0, 1);
void
_ListDBs( drh )
SV * drh
PPCODE:
#define MAXDBS 100
#define FASIZE ( MAXDBS * 19 )
int sqlcode;
int ndbs;
int i;
dbdnet/NET.xs view on Meta::CPAN
void
fetchrow(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
int i;
SV *sv;
imp_sth->done_desc = 0;
if ( dbd_describe( sth, imp_sth ) != 0 ) {
view all matches for this distribution
view release on metacpan or search on metacpan
MODULE = DBD::ODBC PACKAGE = DBD::ODBC::st
void odbc_describe_param(sth, param)
SV * sth
SV * param
PPCODE:
D_imp_sth(sth);
D_imp_xxh(sth);
SQLRETURN rc;
SQLSMALLINT data_type;
SQLULEN size;
XST_mIV(0, ret);
void odbc_getdiagrec(sth, record)
SV * sth
unsigned short record
PPCODE:
SQLINTEGER native;
SQLCHAR state[10];
SQLCHAR msg[256];
SQLRETURN rc;
SQLSMALLINT msg_len;
void odbc_getdiagfield(sth, record, identifier)
SV * sth
unsigned short record
int identifier
PPCODE:
SQLCHAR buf[256];
SQLSMALLINT buf_len;
SQLLEN len_type = 0;
SQLINTEGER int_type = 0;
SQLRETURN ret_type = 0;
#void
#DescribeCol(sth, colno)
# SV *sth
# int colno
#
# PPCODE:
#
# char ColumnName[SQL_MAX_COLUMN_NAME_LEN];
# I16 NameLength;
# I16 DataType;
# U32 ColumnSize;
}
void odbc_getdiagrec(dbh, record)
SV * dbh
unsigned short record
PPCODE:
SQLINTEGER native;
SQLCHAR state[10];
SQLCHAR msg[256];
SQLRETURN rc;
SQLSMALLINT msg_len;
void odbc_getdiagfield(dbh, record, identifier)
SV * dbh
unsigned short record
int identifier
PPCODE:
SQLCHAR buf[256];
SQLSMALLINT buf_len;
SQLLEN len_type;
SQLINTEGER int_type;
SQLRETURN ret_type;
# scheme
void
GetFunctions(dbh, func)
SV * dbh
unsigned short func
PPCODE:
UWORD pfExists[SQL_API_ODBC3_ALL_FUNCTIONS_SIZE];
RETCODE rc;
int i;
int j;
D_imp_dbh(dbh);
view all matches for this distribution
view release on metacpan or search on metacpan
void
ora_fetch(sth)
SV * sth
PPCODE:
/* fetchrow: but with scalar fetch returning NUM_FIELDS for Oraperl */
/* This code is called _directly_ by Oraperl.pm bypassing the DBI. */
/* as a result we have to do some things ourselves (like calling */
/* CLEAR_ERROR) and we loose the tracing that the DBI offers :-( */
D_imp_sth(sth);
dbd_init_oci_drh(imp_drh) ;
void
DESTROY(drh)
SV * drh
PPCODE:
/* keep in sync with default DESTROY in DBI.xs (currently there is no dr default) */
D_imp_drh(drh);
ST(0) = &PL_sv_yes;
dbd_dr_destroy(drh, imp_drh);
view all matches for this distribution
view release on metacpan or search on metacpan
SV * dbh
PREINIT:
AV *sps;
SV **sps_a;
size_t a_len, ndx;
PPCODE:
D_imp_dbh(dbh);
sps = imp_dbh->savepoints;
a_len = av_count(sps);
if (!a_len) XSRETURN(0);
sps_a = AvARRAY(sps);
view all matches for this distribution
view release on metacpan or search on metacpan
void
DESTROY(dbh)
SV * dbh
PPCODE:
D_imp_dbh(dbh);
ST(0) = &PL_sv_yes;
if (!DBIc_IMPSET(imp_dbh)) { /* was never fully set up */
if (DBIc_WARN(imp_dbh) && !PL_dirty && dbis->debug >= 2) {
warn("Database handle %s DESTROY ignored - never set up", SvPV(dbh,PL_na));
void
fetchrow_array(sth)
SV * sth
ALIAS:
fetchrow = 1
PPCODE:
D_imp_sth(sth);
AV *av;
av = dbd_st_fetch(sth, imp_sth);
if (av) {
int num_fields = AvFILL(av)+1;
void
DESTROY(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
ST(0) = &PL_sv_yes;
if (!DBIc_IMPSET(imp_sth)) { /* was never fully set up */
if (DBIc_WARN(imp_sth) && !PL_dirty && dbis->debug >= 2) {
warn("Statement handle %s DESTROY ignored - never set up", SvPV(sth,PL_na));
view all matches for this distribution
view release on metacpan or search on metacpan
PrimeBase.xs view on Meta::CPAN
char* dbname
char* host
char* server
char* user
char* password
PPCODE:
{
int result;
int sessid;
SV* the_handle;
view all matches for this distribution
view release on metacpan or search on metacpan
void
fetchrow(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
AV *av;
if (GIMME == G_SCALAR && DBIc_COMPAT(imp_sth)) { /* XXX Oraperl */
/* This non-standard behaviour added only to increase the */
/* performance of the oraperl emulation layer (Oraperl.pm) */
view all matches for this distribution
view release on metacpan or search on metacpan
void
data_sources(drh, attr = Nullsv)
SV *drh
SV *attr
PPCODE:
{
D_imp_drh(drh);
AV *av = dbd_dr_data_sources(drh, imp_drh, attr);
if (av) {
int i;
PREINIT:
int is_selectrow_array = (ix == 1);
imp_sth_t *imp_sth;
SV *sth;
AV *row_av;
PPCODE:
if (SvROK(ST(1))) {
sth = ST(1);
}
else {
/* --- prepare --- */
void
DESTROY(dbh)
SV * dbh
PPCODE:
/* keep in sync with default DESTROY in DBI.xs */
D_imp_dbh(dbh);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_dbh)) { /* was never fully set up */
STRLEN lna;
void
data_sources(dbh, attr = Nullsv)
SV *dbh
SV *attr
PPCODE:
{
D_imp_dbh(dbh);
AV *av = dbd_db_data_sources(dbh, imp_dbh, attr);
if (av) {
int i;
void
fetchrow_array(sth)
SV * sth
ALIAS:
fetchrow = 1
PPCODE:
D_imp_sth(sth);
AV *av;
av = dbd_st_fetch(sth, imp_sth);
if (av) {
int i;
void
DESTROY(sth)
SV * sth
PPCODE:
/* keep in sync with default DESTROY in DBI.xs */
D_imp_sth(sth);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_sth)) { /* was never fully set up */
STRLEN lna;
view all matches for this distribution
view release on metacpan or search on metacpan
void
DESTROY(dbh)
SV * dbh
PPCODE:
D_imp_dbh(dbh);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_dbh)) { /* was never fully set up */
if (DBIc_WARN(imp_dbh) && !dirty && dbis->debug >= 2)
warn("Database handle %s DESTROY ignored - never set up",
void
fetchrow(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
AV *av;
if (DBIc_COMPAT(imp_sth) && GIMME == G_SCALAR) { /* XXX Oraperl */
/* This non-standard behaviour added only to increase the */
/* performance of the oraperl emulation layer (Oraperl.pm) */
void
DESTROY(sth)
SV * sth
PPCODE:
D_imp_sth(sth);
ST(0) = &sv_yes;
if (!DBIc_IMPSET(imp_sth)) { /* was never fully set up */
if (DBIc_WARN(imp_sth) && !dirty && dbis->debug >= 2)
warn("Statement handle %s DESTROY ignored - never set up",
view all matches for this distribution
view release on metacpan or search on metacpan
void
syb_describe(sth, doAssoc = 0)
SV * sth
int doAssoc
PPCODE:
{
D_imp_sth(sth);
int i, k;
HV *hv;
SV *sv;
view all matches for this distribution
view release on metacpan or search on metacpan
Teradata.xs view on Meta::CPAN
void
tdxs_set_debug(dbc, val)
SV * dbc
SV * val
PPCODE:
dbc_ctxptr_t dbcp = INT2PTR(dbc_ctxptr_t, SvUV(dbc));
dbcp->debug = SvTRUE(val) ? SvIV(val) : 0;
ST(0) = &PL_sv_yes;
XSRETURN(1);
void
tdxs_init_dbcarea(debug)
SV * debug
PPCODE:
dbc_ctxptr_t dbc_ctx = NULL;
DBCAREA *dbcp = NULL;
SV *dbcarea = NULL;
I32 result;
char *cnta = NULL;
Teradata.xs view on Meta::CPAN
SV * logonstr
SV * mode
SV * runstring
SV * logonsrc
SV * charset
PPCODE:
I32 result;
STRLEN logonlen;
STRLEN runlen;
STRLEN logonsrclen;
char *mymode;
Teradata.xs view on Meta::CPAN
void
tdxs_get_tdat_release(dbc)
SV *dbc
PPCODE:
dbc_ctx_t *dbc_ctx = (dbc_ctx_t *)SvIV(dbc);
DBCAREA *dbcp = &dbc_ctx->dbc;
char relstr[7];
char verstr[15];
I32 result;
Teradata.xs view on Meta::CPAN
void
tdxs_cleanup(dbc, errstr)
SV *dbc
SV *errstr
PPCODE:
dbc_ctxptr_t dbc_ctx = INT2PTR(dbc_ctxptr_t, SvUV(dbc));
DBCAREA *dbcp = &dbc_ctx->dbc;
I32 result;
char *cnta = NULL;
Teradata.xs view on Meta::CPAN
SV * dbc
SV * len
SV * keepresp
SV * buffer
SV * resplen
PPCODE:
STRLEN buflen;
STRLEN rlen;
char *buf = SvPV(buffer, buflen) + TDAT_HDR_SZ;
dbc_ctxptr_t dbc_ctx = INT2PTR(dbc_ctxptr_t, SvUV(dbc));
DBCAREA *dbcp = &dbc_ctx->dbc;
Teradata.xs view on Meta::CPAN
XSRETURN(2);
void
tdxs_wait_for_response()
PPCODE:
I32 result = EM_OK;
I32 sessid = 0;
I32 token = 0;
char *cnta = NULL;
DBCHWAT(&result, cnta, &sessid, &token);
Teradata.xs view on Meta::CPAN
SV *dbc
SV *buffer
SV *reqid
SV *keepresp
SV *wait_for_resp
PPCODE:
dbc_ctx_t *dbc_ctx = (dbc_ctx_t *)SvIV(dbc);
DBCAREA *dbcp = &dbc_ctx->dbc;
I32 result;
char *cnta = NULL;
char *fullbuf = NULL;
Teradata.xs view on Meta::CPAN
void
tdxs_end_request(dbc, reqid)
SV *dbc
int reqid
PPCODE:
dbc_ctxptr_t dbc_ctx = INT2PTR(dbc_ctxptr_t, SvUV(dbc));
DBCAREA *dbcp = &dbc_ctx->dbc;
I32 result = EM_OK;
char *cnta = NULL;
if (dbc_ctx->debug)
Teradata.xs view on Meta::CPAN
void
tdxs_abort_request(dbc, reqid)
SV * dbc
int reqid
PPCODE:
dbc_ctxptr_t dbc_ctx = INT2PTR(dbc_ctxptr_t, SvUV(dbc));
DBCAREA *dbcp = &dbc_ctx->dbc;
I32 result = EM_OK;
char *cnta = NULL;
if (dbc_ctx->debug)
Teradata.xs view on Meta::CPAN
void
tdxs_test_leak(dbc, buffer, count)
SV * dbc
SV * buffer
SV * count
PPCODE:
STRLEN buflen;
char *buf = SvPV(buffer, buflen) + TDAT_HDR_SZ;
dbc_ctx_t *dbc_ctx = (dbc_ctx_t *)SvIV(dbc);
DBCAREA *dbcp = &dbc_ctx->dbc;
I32 result;
view all matches for this distribution
view release on metacpan or search on metacpan
void
db_dict (dbh, reload = 0)
SV * dbh
int reload
PPCODE:
dbd_db_dict (dbh, reload);
EXTEND (SP, 1);
ST (0) = DEFSV;
XSRETURN (1);
view all matches for this distribution