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

📄 query.h

📁 用于TM1300/PNX1300系列DSP(主要用于视频处理)的操作系统pSOS。包括全部源码
💻 H
📖 第 1 页 / 共 2 页
字号:
 /************************************************************************//* pSOS+ QUERY SERVICES                                                 *//*       - type definitions, typedefs, constatnts, function prototypes  *//************************************************************************//* cv_info() call returns the following information for a given		*/ /* condition variable object.						*//************************************************************************/struct	cvinfo     {    UCHAR	name[4];      /* Name of the Condition Variable		*/    ULONG	flags;	      /* Object's attributes 	 		*/    ULONG	wqlen;	      /* No. of waiting tasks 	     		*/    ULONG	wtid;	      /* Object ID of the first waiting task	*/    ULONG	muid;	      /* Object ID of the associated mutex 	*/    };typedef struct 	cvinfo	pcvinfo_t;/************************************************************************//* mu_info() call returns the following information for a given mutex   *//* object.							        *//************************************************************************/struct	muinfo{    UCHAR	name[4];	/* Name of the mutex	 		*/    ULONG	flags;		/* Mutex attributes	     		*/    ULONG	wqlen;		/* No. of waiting tasks	     		*/    ULONG	wtid;	      	/* Object ID of the first waiting task	*/    ULONG	count;		/* Mutex reference (lock) count		*/    ULONG	ownid;		/* Mutex owner ID	     		*/    ULONG	node;		/* owner task's node number     	*/    ULONG      ceilprio;	/* Mutex ceiling priority     		*/    ULONG	phpwt;		/* Max. of all waiting tasks priorities */};typedef	struct	muinfo	pmuinfo_t;/************************************************************************//* pt_info() call returns the following information for a given 	*//* partition object.						     	*//************************************************************************/struct	ptinfo    {    UCHAR	name[4];	/* Name of the partition	     	*/    ULONG	flags;		/* Partition attributes		     	*/    ULONG	bsize;		/* size of a partition buffer	     	*/    ULONG	nbufs;		/* Total no. of buffers in the partition*/    ULONG	nfree;		/* Total No. of free buffers.		*/    ULONG	*iaddr;		/* Partition start address		*/    ULONG	length;		/* Partition length                     */    };typedef	struct	ptinfo	pptinfo_t;/************************************************************************//* q_info() call returns the following information for a given 		*//* queue object.						     	*//************************************************************************/struct	qinfo    {    UCHAR	name[4];	/* Name of the queue			*/    ULONG	flags;		/* Queue attributes			*/    ULONG	wqlen;		/* No. of waiting tasks			*/    ULONG	wtid;	      	/* Object ID of the first waiting task	*/    ULONG	mqlen;		/* No. of messages in the queue		*/    ULONG	mqmax;		/* Max. no. of messages allowed		*/    ULONG       tid_ntfy;       /* Task to notify of message arrival    */    ULONG       ev_ntfy;        /* Event to post on message arrival     */    };typedef	struct	qinfo	pqinfo_t;/************************************************************************//* rn_info() call returns the following information for a given 	*//* region object.						     	*//************************************************************************/struct 	rninfo    {    UCHAR	name[4];	/* Name of the region			*/    ULONG	flags;		/* Region attributes			*/    ULONG	wqlen;		/* No. of waiting tasks			*/    ULONG	wtid;		/* Object ID of the first waiting task	*/    void	*start_addr;	/* Start address			*/    ULONG	unit_size;	/* Size of each unit			*/    ULONG	total_units;	/* Total units in the region		*/    ULONG	free_bytes;	/* Bytes free in the region		*/    ULONG	largest;	/* size of largest chunk in bytes	*/    ULONG       length;         /* Total length of region in bytes      */    };typedef	struct	rninfo	prninfo_t;/************************************************************************//* sm_info() call returns the following information for a given 	*//* semaphore object.						     	*//************************************************************************/struct	sminfo    {    UCHAR	name[4];	/* Semaphore name			*/    ULONG	flags;		/* Semaphore attributes			*/    ULONG	wqlen;		/* No. of waiting tasks			*/    ULONG	wtid;		/* Object ID of the first waiting task	*/    ULONG	count;		/* Semaphore count			*/    ULONG	maxcount;	/* Limit for bounded semaphores		*/    ULONG   tid_ntfy;       /* Task to notify of sema4 availability */    ULONG   ev_ntfy;        /* Event to post on sema4 availability  */    };typedef	struct	sminfo	psminfo_t;/************************************************************************//* t_info() call returns the following information for a given 		*//* task object.						     		*//************************************************************************/struct	tinfo    {    UCHAR	name[4];	/* Task name				*/    ULONG	flags;		/* Task attributes			*/    void	(*iip)();	/* Task's initial starting address	*/    ULONG	next;		/* ID of the next waiting task		*/    USHORT	status;		/* Task status				*/    UCHAR	cpriority;	/* Task's current priority		*/    UCHAR	bpriority;	/* Task's base priority			*/    UCHAR	ipriority;	/* Task's initial priority		*/    UCHAR	evwantcond;	/* Task's event wait condition		*/    USHORT	amode;		/* Task's ASR mode			*/    USHORT	mode;		/* Task's current mode			*/    USHORT	imode;		/* Task's initial mode			*/    ULONG	tslice_quantum; /* Per task's time slice in ticks	*/    long	tslice_remain;	/* Remainder time slice in ticks	*/    ULONG	wtobid;		/* Object where task is blocked		*/    ULONG	evwait;		/* Events - task waiting for		*/    ULONG	evcaught;	/* Events caught			*/    ULONG	evrcvd;		/* Events received			*/    ULONG	ss_size;	/* Supervisory stack size		*/    ULONG	us_size;	/* User stack size			*/    ULONG	*ssp;		/* Task's current supervisor stack ptr  */    ULONG	*issp;		/* Task's initial supervisor stack ptr  */    ULONG	*usp;		/* Task's current user stack pointer	*/    ULONG	*iusp;		/* Task's initial user stack pointer	*/    ULONG	imask;		/* Task's Interrupt priority level	*/    void	(*asr_addr)();	/* Task's ASR address			*/    ULONG	signal;		/* Asynchronous signal pending		*/    ULONG	xdate;          /* Timer expiry date                    */    ULONG	xtime;          /* Time expiry time                     */    ULONG	xticks;		/* Timer expiry ticks                   */    ULONG   	nrnunits;       /* No. of region units wanted           */    void    	**tsdp;         /* Task-specific-Data pointer           */    ULONG   	evasr_ntfy;     /* Events used for ASR notification     */    ULONG   	co_toproc;      /* Callouts to process (pending)        */    ULONG   	co_inprog;      /* Callouts in progress                 */    };typedef	struct tinfo	ptinfo_t;/*----------------------------------------------------------------------*//* BIT MASKS FOR tinfo.status                                           *//*----------------------------------------------------------------------*/#define TS_DEBUG     0x8000     /* The task has been blocked by         */                                /* debugger                             */#define TS_SUSP      0x4000     /* The task has been suspended via a    */                                /* t_suspend() call                     */#define TS_TIMING    0x1000     /* The task is in a timeout queue,      */                                /* either absolute or relative          */#define TS_PAUSE     0x0800     /* Task is in the timeout queue         */                                /* specifically as a result of          */

⌨️ 快捷键说明

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