⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timertest.c

📁 This a SOFTWARE pbx DRIVER
💻 C
字号:
#include <string.h>#include <stdio.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <sys/ioctl.h>#include <sys/select.h>#include <sys/time.h>#include <errno.h>#include "zaptel.h"int main(int argc, char *argv[]){	int fd;	int x = 8000;	int res;	fd_set fds;	struct timeval orig, now;	fd = open("/dev/zap/timer", O_RDWR);	if (fd < 0) {		fprintf(stderr, "Unable to open timer: %s\n", strerror(errno));		exit(1);	}	printf("Opened timer...\n");	if (ioctl(fd, ZT_TIMERCONFIG, &x)) {		fprintf(stderr, "Unable to set timer: %s\n", strerror(errno));		exit(1);	}	printf("Set timer duration to %d samples (%d ms)\n", x, x/8);	printf("Waiting...\n");	gettimeofday(&orig, NULL);	for(;;) {		FD_ZERO(&fds);		FD_SET(fd, &fds);		res = select(fd + 1, NULL, NULL, &fds, NULL);		if (res != 1) {			fprintf(stderr, "Unexpected result %d: %s\n", res, strerror(errno));			exit(1);		}		x = -1;		if (ioctl(fd, ZT_TIMERACK, &x)) {			fprintf(stderr, "Unable to ack timer: %s\n", strerror(errno));			exit(1);		}		gettimeofday(&now, NULL);		printf("Timer Expired (%d ms)!\n", (now.tv_sec - orig.tv_sec) * 1000 + (now.tv_usec - orig.tv_usec) / 1000);	}	exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -