📄 salvoscg.h
字号:
/************************************************************
Copyright (C) 1995-2002 Pumpkin, Inc. and its
Licensor(s). Freely distributable.
$Source: C:\\RCS\\d\\salvo\\inc\\salvoscg.h,v $
$Author: aek $
$Revision: 3.9 $
$Date: 2003-07-24 15:18:15-07 $
This file is used in conjunction with salvomcg.h. This
is the "single call graph" (i.e. scg) file, which is
used to undo the effects of salvomcg.h wherever it is
used.
For functions that can be called from the foreground and
the background simultaneously, some compilers need
special directives, etc. to handle the multiple call
graphs. This occurs when the parameter and auto variable
storage is not stack-based. To use, the source code
should have the following form:
#define __OSFNNAME_MODULENAME_C
#include <salvomcg.h>
Function body
#include <salvoscg.h>
#undef __OSFNNAME_MODULENAME_C
See comments in salvomcg.h on why this file doesn't have
include guards.
************************************************************/
/************************************************************
**** ****
** **
This "undoes" the internal interrupt control (critical
section protection) and other function-specific stuff
for all those functions that are affected by OSCALL_OSXYZ,
etc.
** **
**** ****
************************************************************/
#if defined(__OSCREATEBINSEM_BINSEM_C) \
|| defined(__OSCREATECYCTMR_CYCLIC_C) \
|| defined(__OSCREATEEFLAG_EFLAG_C) \
|| defined(__OSCREATEEVENT_EVENT_C) \
|| defined(__OSCREATEMSG_MSG_C) \
|| defined(__OSCREATEMSGQ_MSGQ_C) \
|| defined(__OSCREATESEM_SEM_C) \
|| defined(__OSGETPRIOTASK_PRIO_C) \
|| defined(__OSGETSTATETASK_TASK5_C) \
|| defined(__OSMSGQCOUNT_MSGQ4_C) \
|| defined(__OSMSGQEMPTY_MSGQ3_C) \
|| defined(__OSRETURNBINSEM_BINSEM2_C) \
|| defined(__OSRETURNEFLAG_EFLAG2_C) \
|| defined(__OSRETURNMSG_MSG2_C) \
|| defined(__OSRETURNMSGQ_MSGQ2_C) \
|| defined(__OSRETURNSEM_SEM2_C) \
|| defined(__OSSIGNALBINSEM_BINSEM_C) \
|| defined(__OSSIGNALEFLAG_EFLAG_C) \
|| defined(__OSSIGNALEVENT_EVENT_C) \
|| defined(__OSSIGNALMSG_MSG_C) \
|| defined(__OSSIGNALMSGQ_MSGQ_C) \
|| defined(__OSSIGNALSEM_SEM_C) \
|| defined(__OSSTARTTASK_TASK_C)
/* PICC, V8C: restore default values for */
/* OSEnter/ExitCritical(): */
#if ( OSCOMPILER == OSHT_PICC ) || ( OSCOMPILER == OSHT_V8C )
#undef OSBeginCriticalSection
#undef OSEndCriticalSection
#define OSBeginCriticalSection() OSEnterCritical()
#define OSEndCriticalSection() OSLeaveCritical()
#endif
/* Keil C51: Undo #pragma NOAREGS */
#if ( OSCOMPILER == OSKEIL_C51 )
#pragma AREGS
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -