📄 psoscfg.h
字号:
/***********************************************************************//* *//* MODULE: psoscfg.h 1.9 *//* DATE: 14:55:50 - 00/07/25 *//* PURPOSE: Configuration table structure templates *//* *//*---------------------------------------------------------------------*//* *//* Copyright 1993 - 1995, Integrated Systems, Inc. *//* ALL RIGHTS RESERVED *//* *//* Permission is hereby granted to licensees of Integrated Systems, *//* Inc. products to use or abstract this computer program for the *//* sole purpose of implementing a product based on Integrated *//* Systems, Inc. products. No other rights to reproduce, use, *//* or disseminate this computer program, whether in part or in *//* whole, are granted. *//* *//* Integrated Systems, Inc. makes no representation or warranties *//* with respect to the performance of this computer program, and *//* specifically disclaims any responsibility for any damages, *//* special or consequential, connected with the use of this program. *//* *//*---------------------------------------------------------------------*//* *//* This file contains templates for pSOS+ configuration table. *//* *//***********************************************************************//*---------------------------------------------------------------------*//* Don't allow this file to be included more than once. *//*---------------------------------------------------------------------*/#ifndef _PSOSCFG_H#define _PSOSCFG_H#ifdef __cplusplusextern "C" {#endif/*=====================================================================*//* Multiprocessor Configuration Table Structure *//*=====================================================================*/typedef struct MultiProcConfigTable { ULONG mc_nodenum; /* this node's node number */ void (*mc_kicode)(); /* addr of this node's kernel interface */ ULONG mc_nnode; /* max number of nodes in system */ ULONG mc_nglbobj; /* size of global obj table in each node */ ULONG mc_nagent; /* number of RPC agents in this node */ ULONG mc_flags; /* operating mode flags */ void (*mc_roster)(); /* address of user roster change callout */ void *mc_dprext; /* dual-port RAM external starting address */ void *mc_dprint; /* dual-port RAM internal starting address */ ULONG mc_dprlen; /* dual-port RAM length in bytes */ ULONG mc_kimaxbuf; /* maximum KI packet buffer length */ void (*mc_asyncerr)(); /* asynchronous calls error callout */ ULONG mc_reserved[6]; /* unused, set to 0 */ } MP_CT; /*---------------------------------------------------------------------*//* pSOS+ configuration table *//*---------------------------------------------------------------------*/typedef struct pSOSConfigTable { void (*kc_psoscode)(); /* start address of pSOS+ */ void *kc_rn0sadr; /* region 0 start address */ ULONG kc_rn0len; /* region 0 length */ ULONG kc_rn0usize; /* region 0 unit size */ ULONG kc_ntask; /* max number of tasks */ ULONG kc_nqueue; /* max number of message queues */ ULONG kc_nsema4; /* max number of semaphores */ ULONG kc_nmsgbuf; /* max number of message buffers */ ULONG kc_ntimer; /* max number of timers */ ULONG kc_nlocobj; /* max number of local objects */ ULONG kc_ticks2sec; /* clock tick interrupt frequency */ ULONG kc_ticks2slice; /* time slice quantum, in ticks */ ULONG kc_nio; /* num of I/O devices in system */ IOJENT *kc_iojtable; /* addr of I/O switch table */ ULONG kc_sysstk; /* pSOS+ system stack size (bytes) */ void (*kc_rootsadr)(); /* ROOT start address */ ULONG kc_rootsstk; /* ROOT supervisor stack size */ ULONG kc_rootustk; /* ROOT user stack size */ ULONG kc_rootmode; /* ROOT initial mode */ void (*kc_startco)(); /* callout at task activation */ void (*kc_deleteco)(); /* callout at task deletion */ void (*kc_switchco)(); /* callout at task switch */ void (*kc_fatal)(); /* fatal error handler address */ void (*kc_idleco)(); /* idle task callout */ ULONG kc_reserved3; /* reserved */ ULONG kc_idlestk; /* IDLE task stack size */ ULONG kc_rootpri; /* ROOT task priority */ ULONG kc_nmutex; /* # of mutexes */ ULONG kc_ncvar; /* max number of condition variables */ ULONG kc_maxio; /* Maximum number of I/O Devices */ ULONG kc_ntvar; /* max number of task variable */ ULONG kc_maxdntent; /* max number of device names in DNT */ ULONG kc_dnlen; /* max length of device name in DNT */ ULONG kc_ntsd; /* max number of task-specific-data entries */ void ***kc_tsdanchor; /* Address of task-specific-data anchor */ ULONG kc_maxscmajor; /* max major no. of service call extension */ ULONG kc_ncocb; /* max number of callouts */ void (*kc_sysstartco)(); /* System startup callout */ ULONG kc_stackcheck_size; /* TM extension: check stack size */ ULONG kc_reserved2[9]; /* reserved for future use */ } pSOS_CT; /*---------------------------------------------------------------------*//* Prototype for call to InstallDriver that will setup driver in *//* the switch table. *//*---------------------------------------------------------------------*/void InstallDriver( unsigned short major_number, void (*dev_init)(struct ioparms *), void (*dev_open)(struct ioparms *), void (*dev_close)(struct ioparms *), void (*dev_read)(struct ioparms *), void (*dev_write)(struct ioparms *), void (*dev_ioctl)(struct ioparms *), unsigned long rsvd1, unsigned short rsvd2, unsigned short flags);#ifdef __cplusplus}#endif#endif /* _PSOSCFG_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -