コード例 #1
0
ファイル: test-regression.c プロジェクト: pandaychen/PFQ
void test_is_enabled()
{
	pfq_t * q = pfq_open(64, 1024, 1024);

	assert(q);
	assert(pfq_is_enabled(q) == 0);
	assert(pfq_enable(q) == 0);
	assert(pfq_is_enabled(q) == 1);
	assert(pfq_disable(q) == 0);
	assert(pfq_is_enabled(q) == 0);

	pfq_close(q);
}
コード例 #2
0
ファイル: test-regression.c プロジェクト: pandaychen/PFQ
void test_enable_disable()
{
	pfq_t * q = pfq_open(64, 1024, 1024);

	assert(q);
	assert(pfq_mem_addr(q) == NULL);
	assert(pfq_enable(q) == 0);
	assert(pfq_mem_addr(q) != NULL);
	assert(pfq_disable(q) == 0);
	assert(pfq_mem_addr(q) == NULL);

	pfq_close(q);
}
コード例 #3
0
ファイル: test-regression.c プロジェクト: pandaychen/PFQ
void test_rx_slots()
{
	pfq_t * q = pfq_open(64, 1024, 1024);
        assert(q);

	assert(pfq_get_rx_slots(q) == 1024);

	assert(pfq_enable(q) == 0);
	assert(pfq_set_rx_slots(q, 4096) == -1);
	assert(pfq_disable(q) == 0);

	assert(pfq_set_rx_slots(q, 4096) == 0);
	assert(pfq_get_rx_slots(q) == 4096);

	pfq_close(q);
}
コード例 #4
0
ファイル: test-regression.c プロジェクト: pandaychen/PFQ
void test_caplen()
{
	pfq_t * q = pfq_open(64, 1024, 1024);
        assert(q);

	assert(pfq_get_caplen(q) == 64);
	assert(pfq_set_caplen(q, 128) == 0);
	assert(pfq_get_caplen(q) == 128);

	assert(pfq_enable(q) == 0);
	assert(pfq_set_caplen(q, 10) == -1);
	assert(pfq_disable(q) == 0);

	assert(pfq_set_caplen(q, 64) == 0);
	assert(pfq_get_caplen(q) == 64);

	pfq_close(q);
}
コード例 #5
0
ファイル: libpfq.c プロジェクト: Mr-Click/PFQ
int pfq_close(pfq_t *q)
{
	if (q->fd != -1)
	{
		if (q->shm_addr)
			pfq_disable(q);

		if (close(q->fd) < 0)
			return Q_ERROR(q, "PFQ: close error");

		if (q->hd != -1)
			close(q->hd);

		free(q);
                return Q_OK(q);
	}

	free(q);
	return __error = "PFQ: socket not open", -1;
}