📄 csc.c
字号:
/*************************************************************************//* *//* Copyright Mentor Graphics Corporation 2002 *//* All Rights Reserved. *//* *//* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS *//* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS *//* SUBJECT TO LICENSE TERMS. *//* *//*************************************************************************//*************************************************************************//* *//* FILE NAME VERSION *//* *//* csc.c Nucleus PLUS 1.14 *//* *//* COMPONENT *//* *//* CS - Common Services *//* *//* DESCRIPTION *//* *//* This file contains linked list manipulation facilities used *//* throughout the Nucleus PLUS system. These facilities operate *//* on doubly-linked circular lists. *//* *//* DATA STRUCTURES *//* *//* None *//* *//* FUNCTIONS *//* *//* CSC_Place_On_List Place node at the end of a *//* list *//* CSC_Priority_Place_On_List Place node in priority order *//* on a list *//* CSC_Remove_From_List Remove a node from a list *//* *//* DEPENDENCIES *//* *//* nucleus.h Nucleus PLUS constants *//* cs_defs.h Common service definitions *//* *//* HISTORY *//* *//* DATE REMARKS *//* *//* 03-01-1993 Created initial version 1.0 *//* 04-19-1993 Verified version 1.0 *//* 03-01-1994 Changed void to VOID, removed *//* clearing link pointers during *//* removal of a node from a list, *//* resulting in version 1.1 *//* *//* 03-18-1994 Verified version 1.1 *//* 04-17-1996 updated to version 1.2 *//* 03-24-1998 Released version 1.3. *//* 03-26-1999 Released 1.11m (new release *//* numbering scheme) *//* 04-17-2002 Released version 1.13m *//* 11-07-2002 Released version 1.14 *//*************************************************************************/#define NU_SOURCE_FILE#include "cs_defs.h" /* Include CS definitions */#include "cs_extr.h" /* Common service functions *//*************************************************************************//* *//* FUNCTION *//* *//* CSC_Place_On_List *//* *//* DESCRIPTION *//* *//* This function places the specified node at the end of specified *//* linked list. *//* *//* CALLED BY *//* *//* various components *//* *//* CALLS *//* *//* None *//* *//* INPUTS *//* *//* head Pointer to head pointer *//* node Pointer to node to add *//* *//* OUTPUTS *//* *//* modified list *//* *//* HISTORY *//* *//* NAME DATE REMARKS *//* *//* W. Lamie 03-01-1993 Created initial version 1.0 *//* D. Lamie 04-19-1993 Verified version 1.0 *//* *//*************************************************************************/#ifndef NU_INLINEVOID CSC_Place_On_List(CS_NODE **head, CS_NODE *new_node){NU_SUPERV_USER_VARIABLES /* Switch to supervisor mode */ NU_SUPERVISOR_MODE(); /* Determine if the list in non-empty. */ if (*head) { /* The list is not empty. Add the new node to the end of the list. */ new_node -> cs_previous = (*head) -> cs_previous; (new_node -> cs_previous) -> cs_next = new_node; new_node -> cs_next = (*head); (new_node -> cs_next) -> cs_previous = new_node; } else { /* The list is empty, setup the head and the new node. */ (*head) = new_node; new_node -> cs_previous = new_node; new_node -> cs_next = new_node; } /* Return to user mode */ NU_USER_MODE();}#endif/*************************************************************************//* *//* FUNCTION *//* *//* CSC_Priority_Place_On_List *//* *//* DESCRIPTION *//* *//* This function places the specified node after all other nodes on *//* the list of equal or greater priority. Note that lower *//* numerical values indicate greater priority. *//* *//* CALLED BY *//* *//* various components *//* *//* CALLS *//* *//* None *//* *//* INPUTS */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -