Reuters-SSL

 view release on metacpan or  search on metacpan

SSL.xs  view on Meta::CPAN

	int Channel;
	char *ServiceName;
	char *ItemName;
	PREINIT:
	SSL_SINK_OPEN_OPTION OptionValue = 2;
	CODE:
	if ( items > 3 )
	  OptionValue = (SSL_SINK_OPEN_OPTION)SvIV(ST(3));
	RETVAL = sslSnkOpen(Channel, ServiceName, ItemName, NULL, SSL_SOO_REQUEST_TYPE, &OptionValue, NULL);
	OUTPUT:
	RETVAL

int 
sslRegisterCallBack(Channel, EventType, Callback)
	int Channel;
	int EventType;
	SV* Callback;
	CODE:
	sv_setsv (my_callback, Callback);
	EventType = SSL_EC_DEFAULT_HANDLER;
	RETVAL = sslRegisterClassCallBack(Channel, (SSL_EVENT_TYPE) EventType, my_callback_function, NULL);
	OUTPUT:
	RETVAL

int
sslSnkClose(Channel, ServiceName, ItemName)
	int Channel;
	char *ServiceName;
	char *ItemName;
	CODE:
	RETVAL = sslSnkClose(Channel, ServiceName, ItemName);
	OUTPUT:
	RETVAL

int
sslDispatchEvent(Channel, maxEvents)
	int Channel;
	int maxEvents;
	PREINIT:
	fd_set readfs;
	struct timeval timeout;
	CODE:
	timeout.tv_sec = 0;
	timeout.tv_usec = 0;
	FD_ZERO(&readfs);
	if (Channel != -1)
		FD_SET(Channel, &readfs);
	select(FD_SETSIZE, &readfs,NULL,NULL,&timeout);
	RETVAL = sslDispatchEvent(Channel, maxEvents);
	OUTPUT:
	RETVAL

int
sslGetProperty(Channel, OptionCode)
	int Channel;
	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)));

char *
sslGetErrorText(Channel)
	int Channel;
	CODE:
	RETVAL = sslGetErrorText(Channel);
	OUTPUT:
	RETVAL

int
sslPostEvent(Channel, EventType, pEventInfo)
	int Channel;
	int EventType;
	SV* pEventInfo;
	PREINIT:
	SSL_INSERT_TYPE item;
	HV * EventInfo;
	STRLEN len;
	CODE:
	if ( SvTYPE( SvRV( pEventInfo ) ) != SVt_PVHV )
	{
		croak ("Argument #3 not of type reference to hash for EventInfo!\n");
	}
	EventInfo = (HV*)SvRV(pEventInfo);
	item.Data =        (char*)SvPV(*hv_fetch(EventInfo,"Data"       , 4,0),len);
	item.ServiceName = (char*)SvPV(*hv_fetch(EventInfo,"ServiceName",11,0),len);
	item.InsertName  = (char*)SvPV(*hv_fetch(EventInfo,"InsertName" ,10,0),len);
	item.InsertTag = NULL;
	item.DataLength =         SvIV(*hv_fetch(EventInfo,"DataLength", 10,0));
	RETVAL = sslPostEvent(Channel, (SSL_EVENT_TYPE)EventType, (SSL_EVENT_INFO*)&item);
	OUTPUT:
	RETVAL

int
sslErrorLog(LogFileName, LogFileSize)
	char *LogFileName;
	int LogFileSize;
	CODE:
	RETVAL = sslErrorLog(LogFileName, LogFileSize);
	OUTPUT:
	RETVAL



( run in 0.893 second using v1.01-cache-2.11-cpan-5511b514fd6 )