コード例 #1
0
ファイル: transaction.cpp プロジェクト: acdy/jhprimeminer-1
bitclientTransaction_t* bitclient_createTransaction()
{
	bitclientTransaction_t* tx = (bitclientTransaction_t*)malloc(sizeof(bitclientTransaction_t));
	memset(tx, 0, sizeof(bitclientTransaction_t));
	// init lists
	tx->tx_in = simpleList_create(1);
	tx->tx_out = simpleList_create(1);
	// init version and misc
	tx->version = 1;
	tx->lock_time = 0;
	// return tx object
	return tx;
}
コード例 #2
0
ファイル: jsonrpc.cpp プロジェクト: martyj/xptMiner
/*
 * Creates a new instance of jsonRPC
 * port is the port identifier that is used for incoming connections
 * Returns NULL if the socket could not be created (most likely due to port being blocked)
 */
jsonRpcServer_t* jsonRpc_createServer(uint16 port)
{
	jsonRpcServer_t* jr = (jsonRpcServer_t*)malloc(sizeof(jsonRpcServer_t));
	memset(jr, 0, sizeof(jsonRpcServer_t));
	// open port for incoming connections
	SOCKET s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	SOCKADDR_IN addr;
	memset(&addr,0,sizeof(SOCKADDR_IN));
	addr.sin_family=AF_INET;
	addr.sin_port=htons(port);
	addr.sin_addr.s_addr=INADDR_ANY;
#ifdef _WIN32 
	if( bind(s,(SOCKADDR*)&addr,sizeof(SOCKADDR_IN)) == SOCKET_ERROR )
#else
    if( bind(s, (SOCKADDR*)&addr,sizeof(SOCKADDR_IN)) == -1 )
#endif
	{
#ifdef _WIN32
		closesocket(s);
#else
	    close(s);
#endif
		free(jr);
		return NULL;
	}
	listen(s, 64);
	jr->acceptSocket = s;
	// init misc
	jr->list_connections = simpleList_create(32);
	// return created server instance
	return jr;
}
コード例 #3
0
ファイル: xptClient.cpp プロジェクト: MercStills/jhProtominer
/*
 * Creates a new xptClient connection object, does not initiate connection right away
 */
xptClient_t* xptClient_create()
{
	// create xpt connection object
	xptClient_t* xptClient = (xptClient_t*)malloc(sizeof(xptClient_t));
	memset(xptClient, 0x00, sizeof(xptClient_t));
	// initialize object
	xptClient->disconnected = true;
	xptClient->clientSocket = SOCKET_ERROR;
	xptClient->sendBuffer = xptPacketbuffer_create(256*1024);
	xptClient->recvBuffer = xptPacketbuffer_create(256*1024);
	InitializeCriticalSection(&xptClient->cs_shareSubmit);
	InitializeCriticalSection(&xptClient->cs_workAccess);
	xptClient->list_shareSubmitQueue = simpleList_create(4);
	// return object
	return xptClient;
}