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

📄 eventloop.c

📁 sip 开源代码 源于novell sip 开源代码 源于novell
💻 C
字号:
#include <sys/select.h>#include <stdio.h>#include "commons.h"#include "display.h"#include "globals.h"#include "user-input.h"#include "sflphone.h"#include "sflphone-events.h"intevent_loop (int socket) {	fd_set			 rfds,					 wfds;	/* get socket as FILE */	fdsocket = fdopen (socket, "a+");	if (fdsocket == NULL) {		perror ("fdopen");		return -1;	}	/* Ask SFLphone's core version */	sflphone_ask_version ();	sflphone_get_events();	/* Main event loop */	display_prompt ();	FOREVER {		FD_ZERO (&rfds);		FD_ZERO (&wfds);		FD_SET (socket, &rfds); // Watch socket		FD_SET (0, &rfds);		// Watch stdin		/* Wait for input, forever */		select (socket+1, &rfds, NULL, NULL, NULL);		/* React to socket input */		if (FD_ISSET (socket, &rfds)) {			if (feof (fdsocket)) {					display_info ("SFLphone core closed the link. "					"Shutting down.");				break;			} else {				handle_event ();			}		}		/* React to user input */		if (FD_ISSET (0, &rfds)) {			if (handle_input () < 0) {				/* Exit if handle_input tells to. */				break;			}			// Break on EOF			if (feof (stdin)) { 				display_info ("Got EOF. Bye bye !\n");				break;			}			display_prompt ();		}	}	return 0;}/* EOF */

⌨️ 快捷键说明

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