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

📄 sfextern.c

📁 su 的源代码库
💻 C
字号:
/* Copyright (c) Colorado School of Mines, 2006.*//* All rights reserved.                       */#include	"sfhdr.h"/*	External variables and functions used only by Sfio**	Written by Kiem-Phong Vo*//* code to initialize mutexes */static Vtmutex_t	Sfmutex;static Vtonce_t		Sfonce = VTONCE_INITDATA;static void _sfoncef(){	(void)vtmtxopen(_Sfmutex, VT_INIT);	(void)vtmtxopen(&_Sfpool.mutex, VT_INIT);	(void)vtmtxopen(sfstdin->mutex, VT_INIT);	(void)vtmtxopen(sfstdout->mutex, VT_INIT);	(void)vtmtxopen(sfstderr->mutex, VT_INIT);	_Sfdone = 1;}/* global variables used internally to the package */Sfextern_t _Sfextern ={	0,						/* _Sfpage	*/	{ NIL(Sfpool_t*), 0, 0, 0, NIL(Sfio_t**) },	/* _Sfpool	*/	NIL(int(*)_ARG_((Sfio_t*,int))),		/* _Sfpmove	*/	NIL(Sfio_t*(*)_ARG_((Sfio_t*, Sfio_t*))),	/* _Sfstack	*/	NIL(void(*)_ARG_((Sfio_t*, int, int))),		/* _Sfnotify	*/	NIL(int(*)_ARG_((Sfio_t*))),			/* _Sfstdsync	*/	{ NIL(Sfread_f),				/* _Sfudisc	*/	  NIL(Sfwrite_f),	  NIL(Sfseek_f),	  NIL(Sfexcept_f),	  NIL(Sfdisc_t*)	},	NIL(void(*)_ARG_((void)) ),			/* _Sfcleanup	*/	0,						/* _Sfexiting	*/	0,						/* _Sfdone	*/	&Sfonce,					/* _Sfonce	*/	_sfoncef,					/* _Sfoncef	*/	&Sfmutex					/* _Sfmutex	*/};/* accessible to application code for a few fast macro functions */ssize_t	_Sfi = -1;#if vt_threadedstatic Vtmutex_t	_Sfmtxin, _Sfmtxout, _Sfmtxerr;#define SFMTXIN		(&_Sfmtxin)#define SFMTXOUT	(&_Sfmtxout)#define SFMTXERR	(&_Sfmtxerr)#else#define SFMTXIN		(0)#define SFMTXOUT	(0)#define SFMTXERR	(0)#endifSfio_t	_Sfstdin  = SFNEW(NIL(char*),-1,0,			  (SF_READ |SF_STATIC|SF_MTSAFE),NIL(Sfdisc_t*),SFMTXIN);Sfio_t	_Sfstdout = SFNEW(NIL(char*),-1,1,			  (SF_WRITE|SF_STATIC|SF_MTSAFE),NIL(Sfdisc_t*),SFMTXOUT);Sfio_t	_Sfstderr = SFNEW(NIL(char*),-1,2,			  (SF_WRITE|SF_STATIC|SF_MTSAFE),NIL(Sfdisc_t*),SFMTXERR);#undef	sfstdin#undef	sfstdout#undef	sfstderrSfio_t*	sfstdin  = &_Sfstdin;Sfio_t*	sfstdout = &_Sfstdout;Sfio_t*	sfstderr = &_Sfstderr;__EXTERN__(ssize_t,_Sfi);__EXTERN__(Sfio_t,_Sfstdin);__EXTERN__(Sfio_t,_Sfstdout);__EXTERN__(Sfio_t,_Sfstderr);__EXTERN__(Sfio_t*,sfstdin);__EXTERN__(Sfio_t*,sfstdout);__EXTERN__(Sfio_t*,sfstderr);

⌨️ 快捷键说明

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