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

📄 vxcolor.h

📁 vxworks官方下载的demo源代码
💻 H
字号:
/* vxColor.h -  header file for vxColor2.c program *//* Copyright 1984-1998 Wind River Systems, Inc. *//*modification history--------------------01f,09apr98,dbt increased stack size for solaris simulator.01e,15nov95,jcf renamed vxColor2.h to vxColor.h.  sigh.01d,15nov95,jcf renamed vxColor.h to vxColor2.h.01c,27sep95,jco re coding convention revision, removed rev field in GNODE.01b,06sep95,p_m fixed coding convention problems.01a,03aug95,jco written.*//* WARNING: DEMO_EOLM MUST BE SUPERIOR TO MAX_NODE! If DEMO_EOLM is changed  * here, it MUST also be changed in $WIND_BASE/host/src/demo/color/demoHost.tk. *//* defines */#define	MAX_NODE	100	/* maximum node number in a graph */#define	MAX_CONNEX	10	/* maximum node connectivity number */#define	MAX_MSG		1	/* maximum number of message in queue */#define	MSG_SIZE	sizeof (NODE_ATTRIB) /* message size */#define	MAX_COLOR	6	/* maximum number of color */#define	MAX_OUTDEGREE	5	/* maximum node outdegree */#define	OUTDEGREE_INIT	(MAX_OUTDEGREE + 1)#define	PAUSE_CLK_RATIO	10 	/* clckRate divisor (N sec for Pause) */#define	DEMO_EOLM	127	/* connexions file endOfLine marker */#define	CONT_PRIORITY	200	/* controler's task priority */#define	NODE_PRIORITY	200	/* node's tasks priority */#define	NODE_STBL_INIT  -1	/* initial value for stable field */#define	NODE_UNSTABLE	0	/* unstable value for stable field */#define	NODE_STABLE	1	/* stable value for stable field *//* * stackSize defines according to cpu type and debug mode boolean  */#if (defined (CPU_FAMILY) && (CPU_FAMILY==MC680X0))#define	NODE_STACK	500	/* node task stack size */#define	NODE_STACK_DBG	1000	/* node task stack size for debug */#define	CONT_STACK	500	/* graphControl task stack size */#define	CONT_STACK_DBG	1000	/* graphControl stack size for debug */#endif  /* CPU_FAMILY == MC680X0 */#if (defined (CPU_FAMILY) && (CPU_FAMILY==SIMSPARCSUNOS))#define	NODE_STACK	2500	/* node task stack size */#define	NODE_STACK_DBG	5000	/* node task stack size for debug */#define	CONT_STACK	2500	/* graphControl task stack size */#define	CONT_STACK_DBG	5000	/* graphControl stack size for debug */#endif  /* CPU_FAMILY == SPARC */#if (defined (CPU_FAMILY) && (CPU_FAMILY==I80X86))#define	NODE_STACK	500	/* node task stack size */#define	NODE_STACK_DBG	1000	/* node task stack size for debug */#define	CONT_STACK	500	/* graphControl task stack size */#define	CONT_STACK_DBG	1000	/* graphControl stack size for debug */#endif  /* CPU_FAMILY == I80X86 */#if (defined (CPU_FAMILY) && (CPU_FAMILY==I960))#define	NODE_STACK	1000	/* node task stack size */#define	NODE_STACK_DBG	2000	/* node task stack size for debug */#define	CONT_STACK	1000	/* graphControl task stack size */#define	CONT_STACK_DBG	2000	/* graphControl stack size for debug */#endif  /* CPU_FAMILY == I960 */#if (defined (CPU_FAMILY) && (CPU_FAMILY==SIMSPARCSOLARIS))#define	NODE_STACK	5000	/* node task stack size */#define	NODE_STACK_DBG	10000	/* node task stack size for debug */#define	CONT_STACK	5000	/* graphControl task stack size */#define	CONT_STACK_DBG	10000	/* graphControl stack size for debug */#endif  /* CPU_FAMILY == SIMSPARCSOLARIS *//* default values */#ifndef NODE_STACK#define	NODE_STACK	2500	/* node task stack size */#define	NODE_STACK_DBG	5000	/* node task stack size for debug */#define	CONT_STACK	2500	/* graphControl task stack size */#define	CONT_STACK_DBG	5000	/* graphControl stack size for debug */#endif /* not def NODE_STACK */#if (defined (CPU_FAMILY) && (CPU_FAMILY==I960) && (defined __GNUC__))#pragma	align 1                 /* tell gcc960 not to optimize alignments */#endif  /* CPU_FAMILY==I960 *//* typedefs */typedef struct ids /* IDS */    {    INT32	tid;		/* task id */    INT32	nid;		/* node id */    } IDS;			/* task/node id	*/typedef struct node_attrib /* NODE_ATTRIB */    {    INT32	color;		/* node color */    INT32	Xvalue;		/* node Xvalue */    } NODE_ATTRIB;		/* node attributes */typedef struct connect_info /* CONNECT_INFO */    {    INT32	dir;		/* direction: +=to connected -=from connected */    IDS		tnid;		/* connected node tid & nid */    NODE_ATTRIB	att;		/* connected node attributes */    MSG_Q_ID	wMQId;		/* write (toNeighbor) mesg queue id */    MSG_Q_ID	rMQId;		/* read  (toNeighbor) mesg queue id */    } CONNECT_INFO;		/* connected node info */typedef struct gnode_st /* GNODE */     {    INT32		stable;			/* color stability flag	*/    IDS			tnid;			/* node tid & nid */    NODE_ATTRIB		att;			/* node col & Xval */    INT32		pc;			/* node Prog Counter */    INT32		oD;			/* node outDegree */    INT32		cNum;			/* node connexions # */    CONNECT_INFO	cArray [MAX_CONNEX];	/* node connexions array */    struct gnode_st *	pNext;			/* pointer to pNext gnode */    } GNODE;					/* global node info */typedef struct control /* CONTROL */    {    char        steadyState;            /* flag on if graph is stable */    char        controlAlive;           /* flag on if control task is alive */    char	coloringStop;           /* flag on when stop requested */    char        pauseOn;                /* flag on when pause requested */    INT32       graphControlId;         /* graphControl task Id */    INT32       nodeFailure;            /* flag on if a node task in error */    SEM_ID	nodeJobDoneSem;		/* synchro for controler */    SEM_ID      createAckSem;           /* Ack for each node creation */    SEM_ID	restartSem;		/* StartColoring and control synchro */    SEM_ID	connexionsDoneSem;	/* connexions established synchro */    SEM_ID	controlerFlushSem;	/* controler flush semaphore */    SEM_ID      dataBaseMutex;          /* data base mutex semaphore */    } CONTROL;				/* global control info */typedef struct data_base /* DATA_BASE */    {    CONTROL	cT;			/* control info block */    INT32	nNum;			/* graph node #	*/    GNODE *	pFirstGnode;		/* pointer to first gnode */    } DATA_BASE;			/* global graph info */	/* turn off alignment requirement for i960 cpu family */#if (defined (CPU_FAMILY) && (CPU_FAMILY==I960) && (defined __GNUC__))#pragma align 0#endif  /* CPU_FAMILY==I960 *//* forward declarations defining the demo GUI API */INT32	graphColorUpdate (DATA_BASE * pdB, char * colorMemBlkAdd);INT32	graphInit (INT32 nodNumber, char * colorMemBlkAdd, BOOL debugMode);INT32	graphStartColoring (DATA_BASE * pdB);INT32 	graphStop (DATA_BASE * pdB);

⌨️ 快捷键说明

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