亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? atm_easysemlibb.h

?? 運(yùn)用VisualSTATE建模
?? H
字號(hào):
/*
 * Version:   50
 * Signature: c590 2396 447f 2b56 0c78 d80e
 *
 * Id:        ATM_easySEMLibB.h
 *
 * Function:  Contains definitions needed for API functions.
 *
 * Generated: Wed Jul 23 14:27:18 2008
 *
 * Coder 5, 4, 1, 1290
 * 
 * This is an automatically generated file. It will be overwritten by the Coder. 
 * 
 * DO NOT EDIT THE FILE! 
 */


#ifndef __ATM_easySEMLIBB_H
#define __ATM_easySEMLIBB_H


#include <stddef.h>


/* Include SEM Library Definition Header File. */
#include "ATM_easySEMBDef.h"


#if (VS_CODER_GUID != 0X011dedf72)
#error The generated file does not match the SEMTypes.h header file.
#endif


#ifndef VS_TRUE
#define VS_TRUE (1)
#endif


#ifndef VS_FALSE
#define VS_FALSE (0)
#endif


#ifdef VS_RUNTIME_INFO
typedef struct
{
  signed char pSignatureVersion[VS_SIGNATURE_VERSION_LENGTH];
  signed char pSignatureContent[VS_SIGNATURE_CONTENT_LENGTH];
} ATM_easyVSRunTimeInfo;
#endif


#ifndef VS_COMPLETION_CODES_DEFINED
#define VS_COMPLETION_CODES_DEFINED
enum
{
  /*
   * Status code:     SES_OKAY.
   *
   * Explanation:     Function performed successfully.
   *
   * Solution:        None.
   */
  SES_OKAY, /* 0 */


  /*
   * Status code:     SES_FOUND.
   *
   * Explanation:     The called function has returned an identifier index
   *                  number.
   *
   * Solution:        Process the returned identifier index number. If the
   *                  function SEM_GetInput or SEM_GetOutput was called, the
   *                  function can be called again to find more events or
   *                  action expressions.
   */
  SES_FOUND, /* 1 */


  /*
   * Status code:     SES_ACTIVE.
   *
   * Explanation:     The completion code has one of the two expositions:
   *                  1)  A state/event deduction is started, while an event
   *                      inquiry is active. All inquired events have not been
   *                      returned by the function SEM_GetInput.
   *                  2)  An event inquiry is started, while a state/event
   *                      deduction is active. All deduced action expressions 
   *                      have not been returned by the function SEM_GetOutput 
   *                      and the SEM_NextState has not been called in order to 
   *                      complete the state/event deduction.
   *
   * Solution:        The completion code is a warning and perhaps the
   *                  application program should be rewritten. An event inquiry
   *                  and a state/event deduction should not be active at the
   *                  same time.
   */
  SES_ACTIVE, /* 2 */


  /*
   * Error code:      SES_CONTRADICTION.
   *
   * Explanation:     A contradiction has been detected between two states in a
   *                  state machine.
   *
   * Solution:        Check the VS System.
   */
  SES_CONTRADICTION, /* 3 */


  /*
   * Error code:      SES_RANGE_ERR.
   *
   * Explanation:     You are making a reference to an identifier that does not
   *                  exist. Note that the first index number is 0. If the 
   *                  VS System has 4 identifiers of the same type and you use a
   *                  function with the variable parameter = 4, the function 
   *                  will return an SES_RANGE_ERR error. In this case the 
   *                  highest variable index number is 3.
   *
   * Solution:        The application program will check the index parameters 
   *                  with one of the following symbols defined in the SEMBDef.h 
   *                  file:
   *
   *                    VS_NOF_EVENTS
   *                    VS_NOF_STATES
   *                    VS_NOF_ACTION_FUNCTIONS
   *                    VS_NOF_STATE_MACHINES
   */
  SES_RANGE_ERR, /* 4 */


  /*
   * Error code:      SES_TEXT_TOO_LONG.
   *
   * Explanation:     The requested text is longer than the specified maximum
   *                  length.
   *
   * Solution:        Increase the maximum length.
   */
  SES_TEXT_TOO_LONG, /* 5 */


   /*
   * Error code:      SES_TYPE_ERR.
   *
   * Explanation:     A text function has been called with the wrong identifier
   *                  type or the specified text is not included in the 
   *                  VS System.
   *
   * Solution:        Use the identifier type symbols (EVENT_TYPE, STATE_TYPE
   *                  or ACTION_TYPE) defined in this file and remember
   *                  to include wanted text in the VS System.
   */
  SES_TYPE_ERR, /* 6 */


  /*
   * Error code:      SES_EMPTY.
   *
   * Explanation:     No events have been given to the SEM_Deduct function before
   *                  calling this function.
   *
   * Solution:        Call the SEM_Deduct function with an event number.
   */
  SES_EMPTY, /* 7 */


  /*
   * Error code:      SES_BUFFER_OVERFLOW.
   *
   * Explanation:     A destination buffer cannot hold the number of items found.
   *
   * Solution:        Call the function with an extended buffer as destination.
   */
  SES_BUFFER_OVERFLOW, /* 8 */


  /*
   * Error code:      SES_SIGNAL_QUEUE_FULL.
   *
   * Explanation:     Signal queue is full.
   *
   * Solution:        Increase the maximum signal queue size in the VS System or
   *                  via the VS Coder signal queue size option.
   */
  SES_SIGNAL_QUEUE_FULL /* 9 */
};
#endif /* VS_COMPLETION_CODES_DEFINED */


/* Identifier types, used when getting texts and explanations.*/
#ifndef VS_IDENTIFIER_TYPES_DEFINED
#define VS_IDENTIFIER_TYPES_DEFINED
enum {EVENT_TYPE, STATE_TYPE, ACTION_TYPE};
#endif /* VS_IDENTIFIER_TYPES_DEFINED */


/*
 * Name        :    SEM_InitAll
 *
 * Description :    The function is a wrapper to all initialization 
 *                  functions. The function calls the following functions
 *                  in the listed order (provided the specific function 
 *                  exists): 
 *                    SEM_Init
 *                    SEM_InitExternalVariables
 *                    SEM_InitInternalVariables
 *                    SEM_InitSignalQueue
 *                    SEM_InitInstances
 *
 * Argument    :    None.
 *
 * Return      :    None.
 *
 * Portability :    ANSI-C Compiler.
 */
void ATM_easySEM_InitAll (void);


/*
 * Name        :    SEM_Init
 *
 * Description :    Before calling any other functions this function must be
 *                  called to initialize the VS System. In addition it is
 *                  possible to call the initialization functions for the 
 *                  signal queue, internal variables and external variables.
 *
 * Argument    :    None.
 *
 * Return      :    None.
 *
 * Portability :    ANSI-C Compiler.
 */
void ATM_easySEM_Init (void);


/*
 * Name        :    SEM_InitSignalQueue
 *
 * Description :    This function initializes the signal queue in a VS System.
 *                  This function must be called together with the SEM_Init 
 *                  function.
 *                  The function will only be avaliable if the signal queue 
 *                  is enabled and the VS System contains signals.
 *
 * Argument    :    None.
 *
 * Return      :    None.
 *
 * Portability :    ANSI-C Compiler.
 */
void ATM_easySEM_InitSignalQueue (void);


/*
 * Name        :    SEM_Deduct
 *
 * Description :    The function prepares the reception of action expressions,
 *                  that can be deduced on the basis of the given event, the
 *                  internal current state vector and the rules in the 
 *                  VS System.
 *                  All action expressions are deduced by continuously calling 
 *                  the function SEM_GetOutput or one call to the
 *                  SEM_GetOutputAll function.
 *                  Before calling the SEM_Deduct function again, the
 *                  SEM_NextState or SEM_NextStateChg must be called to
 *                  enter the new states, if any.
 *                  The function will be auto generated by the VS Coder during
 *                  code generation if double buffering and/or event 
 *                  parameters are present.
 *
 * Argument    :    EventNo:
 *                    Event number to be processed.
 *
 *                  Variable number of arguments:
 *                    Used if at least one event has a parameter. 
 *                    The function call must include one argument for each 
 *                    type name declared in the parameter list for each event. 
 *    
 *                    This sample declaration is for an event with three 
 *                    parameters:
 *
 *                      EventName (VS_UINT8 par1, VS_CHAR par2, VS_LONG par3)
 *
 *                    How to call the SEM_Deduct function for the event 
 *                    EventName:
 *
 *                      SEM_Deduct (EventName, par1, par2, par3);
 *
 * Return      :    Completion code:
 *
 *                    SES_ACTIVE:
 *                      The function SEM_Inquiry has been called. All inquired
 *                      events have not been returned by the function
 *                      SEM_GetInput or SEM_GetInputAll. The state/event
 *                      deduction is okay, but the user should not call the
 *                      function SEM_GetInput before the functions
 *                      SEM_NextState or SEM_NextStateChg and SEM_Inquiry have
 *                      been called.
 *
 *                    SES_RANGE_ERR:
 *                      Event is out of range.
 *
 *                    SES_OKAY:
 *                      Success.
 *
 * Portability :    ANSI-C Compiler.
 */
unsigned char ATM_easySEM_Deduct (SEM_EVENT_TYPE EventNo);


/*
 * Name        :    SEM_GetOutput
 *
 * Description :    The function finds an action expression, if any such one
 *                  has been deduced on the basis of the event given to the 
 *                  function
 *                  SEM_Deduct, the internal current state vector and the
 *                  rules in the VS System.
 *                  All action expressions are found by continuous calls to 
 *                  the SEM_GetOutput function.
 *                  When the SEM_GetOutput returna the completion code
 *                  SES_OKAY, all action expressions have been found.
 *                  Use SEM_Action or SEM_TableAction to call the action
 *                  expression functions.
 *
 * Argument    :    ActionNo:
 *                    Pointer to store the deduced action expression.
 *
 * Return      :    Completion code:
 *
 *                    SES_CONTRADICTION:
 *                      Contradiction detected, the VS System is not 
 *                      consistent. Check the VS System. 
 *                      You will also get this error code here if you forget
 *                      to call SEM_Init function.
 *
 *                    SES_EMPTY:
 *                      No event has been given to the SEM_Deduct function, i.e.
 *                      SEM_Deduct has not been called before calling the
 *                      SEM_GetOutput function.
 *
 *                    SES_FOUND:
 *                      An action expression has been found. The user can 
 *                      continue to call the SEM_GetOutput in order to have 
 *                      more action expressions found.
 *
 *                    SES_SIGNAL_QUEUE_FULL:
 *                      The signal queue is full. Increase the signal queue 
 *                      size in the VS System.
 *                      Calling the SEM_InitSignalQueue function can reset the 
 *                      signal queue.
 *
 *                    SES_OKAY:
 *                      Success. All action expressions have been found.
 *                      The user can now call the SEM_NextState or
 *                      SEM_NextStateChg function to change state.
 *                      If SEM_Deduct is called with the same event and
 *                      SEM_NextState and SEM_NextStateChg is not called, all
 *                      action expresssions can be found again by calling 
 *                      SEM_GetOutput or SEM_GetOutputAll.
 *
 * Portability :    ANSI-C Compiler.
 */
unsigned char ATM_easySEM_GetOutput (SEM_ACTION_EXPRESSION_TYPE *ActionNo);


/*
 * Name        :    SEM_NextState
 *
 * Description :    The function will update the internal current state 
 *                  vector if any states can be found on the basis of the 
 *                  given event to the function SEM_Deduct, the internal 
 *                  current state vector and the rules in the VS System.
 *
 * Argument    :    None.
 *
 * Return      :    Completion code:
 *
 *                    SES_CONTRADICTION:
 *                      Contradiction detected, the VS System is not
 *                      consistent. Check the VS System.
 *                      Your will also get this error code here if you
 *                      forget to call SEM_Init.
 *
 *                    SES_EMPTY:
 *                      No event has been given to the SEM_Deduct function,
 *                      i.e. SEM_Deduct has not been called before calling the
 *                      SEM_NextState function.
 *
 *                    SES_OKAY:
 *                      Success. The internal state vector was updated.
 *
 * Portability :    ANSI-C Compiler.
 */
unsigned char ATM_easySEM_NextState (void);


/*
 * Name        :    SEM_Action 
 *
 * Description :    The macro will call an action expression function by using 
 *                  the VSAction function pointer table.
 *
 * Argument    :    ActionNo:
 *                    Action expression index number.
 * 
 * Return      :    None.
 *
 * Portability :    ANSI-C Compiler.
 */
#define ATM_easySEM_Action(ActionNo) ((*ATM_easyVSAction[(ActionNo)])())


/*
 * Name        :    SEM_TableAction 
 *
 * Description :    The macro will call an action expression function by using 
 *                  the specified function pointer table.
 *
 * Argument    :    Table:
 *                    Function pointer table.
 *
 *                  ActionNo:
 *                    Action expression index number.
 *
 * Return      :    None.
 *
 * Portability :    ANSI-C Compiler.
 */
#define ATM_easySEM_TableAction(Table, ActionNo) ((*((Table))[(ActionNo)])())


#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜激情av| 欧美日韩免费一区二区三区视频| 国产成人午夜99999| 成人v精品蜜桃久久一区| 色综合色狠狠综合色| 欧美福利电影网| 国产欧美一区二区精品性色超碰 | 麻豆国产精品官网| 国产成人精品综合在线观看| 99精品欧美一区二区三区小说| 欧美精品一二三区| 久久精品视频一区| 亚洲成人久久影院| 高清shemale亚洲人妖| 一本大道综合伊人精品热热| 欧美一区二区高清| 国产精品久久99| 免费观看成人av| 97久久人人超碰| 欧美α欧美αv大片| 18涩涩午夜精品.www| 日精品一区二区三区| 成人天堂资源www在线| 欧美另类变人与禽xxxxx| 国产精品乱人伦| 日韩精品欧美精品| www.欧美日韩| 日韩美女视频一区二区在线观看| 中文字幕一区二区三区蜜月| 免费在线观看一区二区三区| 91色porny蝌蚪| 久久久欧美精品sm网站| 亚洲一区av在线| 成人黄色免费短视频| 欧美一区二区三区免费| 亚洲欧美福利一区二区| 国产精品夜夜嗨| 欧美一区二区性放荡片| 亚洲欧美激情小说另类| 国产精品自拍av| 欧美r级电影在线观看| 亚洲大片精品永久免费| 99国产精品久久久久久久久久 | 国产成人欧美日韩在线电影| 在线播放亚洲一区| 亚洲女同女同女同女同女同69| 美女视频一区二区三区| 欧美亚洲国产一区二区三区| 国产精品久久久久久久久搜平片| 久久国产精品免费| 欧美精品亚洲一区二区在线播放| 亚洲日本在线天堂| 不卡的电影网站| 国产日韩欧美精品在线| 麻豆精品新av中文字幕| 欧美高清www午色夜在线视频| 一区二区三区日韩| 色诱视频网站一区| 亚洲私人黄色宅男| 成人黄色综合网站| 国产精品午夜春色av| 久久se精品一区精品二区| 欧美日韩午夜影院| 亚洲成人高清在线| 欧美少妇xxx| 性做久久久久久| 欧美日韩激情一区二区| 亚洲成人av一区| 欧美午夜精品理论片a级按摩| 亚洲乱码精品一二三四区日韩在线| 波多野洁衣一区| 国产精品超碰97尤物18| 99久久国产综合精品麻豆| 国产精品区一区二区三区| 成人黄页毛片网站| 亚洲欧美电影一区二区| 色婷婷av一区二区| 亚洲小说春色综合另类电影| 91久久精品网| 五月天精品一区二区三区| 欧美精品日韩综合在线| 美女性感视频久久| 久久综合一区二区| 国产成人精品三级| 亚洲欧洲精品一区二区三区不卡| 99精品国产视频| 亚洲午夜免费电影| 91精品免费在线| 九九精品视频在线看| 精品久久人人做人人爽| 国产成人高清在线| 亚洲免费色视频| 欧美军同video69gay| 免费高清在线视频一区·| xnxx国产精品| 99久久精品免费观看| 亚洲国产成人高清精品| 欧美一区二区三区影视| 国产在线麻豆精品观看| 国产精品夫妻自拍| 欧美日韩小视频| 精品亚洲porn| 亚洲欧洲日韩在线| 欧美肥妇bbw| 国产精品一二二区| 亚洲一区二区不卡免费| 欧美一区二区精美| 成年人午夜久久久| 五月天精品一区二区三区| 精品sm在线观看| 色94色欧美sute亚洲线路二| 日韩高清在线不卡| 国产欧美综合色| 欧美日韩视频在线一区二区| 欧美亚洲国产一区在线观看网站| 蜜桃一区二区三区在线| 国产精品另类一区| 欧美日韩你懂得| 懂色av中文一区二区三区| 亚洲自拍偷拍欧美| 亚洲精品在线三区| 色综合色综合色综合色综合色综合| 蜜桃视频一区二区三区在线观看| 中文字幕欧美激情一区| 欧美区一区二区三区| 高清久久久久久| 日本成人超碰在线观看| 国产精品国产三级国产普通话99 | 偷窥少妇高潮呻吟av久久免费| 国产亚洲女人久久久久毛片| 欧美在线一区二区三区| 国产精品18久久久久久久久久久久 | 亚洲成人资源在线| 国产日产亚洲精品系列| 欧美精品免费视频| 99久久伊人久久99| 激情图片小说一区| 亚洲电影一区二区三区| 国产欧美日本一区二区三区| 在线电影国产精品| 91免费版在线看| 国产福利精品导航| 天堂久久一区二区三区| 亚洲男人天堂av| 久久精品亚洲精品国产欧美 | 日韩电影在线看| 亚洲美女精品一区| 国产欧美日韩视频一区二区| 日韩欧美你懂的| 欧美精品国产精品| 91日韩精品一区| 成人爱爱电影网址| 国产综合久久久久久久久久久久| 五月婷婷激情综合| 亚洲欧美福利一区二区| 国产蜜臀97一区二区三区| 日韩免费视频一区| 在线成人高清不卡| 欧美日韩免费不卡视频一区二区三区| 99久久99久久免费精品蜜臀| 国产一区二区精品久久99| 日韩精品1区2区3区| 五月天一区二区三区| 一区二区三区免费网站| 亚洲人成影院在线观看| 日韩一区在线免费观看| 中文子幕无线码一区tr| 久久久影视传媒| 2017欧美狠狠色| 婷婷夜色潮精品综合在线| 一区二区三区四区av| 亚洲另类在线视频| 最新不卡av在线| 成人免费一区二区三区在线观看| 国产日韩高清在线| 日本一区二区三区四区| 国产欧美日韩在线| 欧美激情一区二区三区不卡 | 成人高清视频在线观看| 国产精品亚洲午夜一区二区三区| 国产一区福利在线| 国产一区二区三区高清播放| 精品一区二区三区在线视频| 青青草国产成人av片免费| 日韩二区三区在线观看| 蜜桃在线一区二区三区| 久久www免费人成看片高清| 韩国欧美国产1区| 国产精品99久久久| 成人av在线网站| 99re6这里只有精品视频在线观看| 91在线国产福利| 91精品1区2区| 欧美精品一级二级三级| 欧美一级黄色录像| 欧美精品一区二| 国产精品视频一二三区| 国产精品久久久久影院老司| 亚洲视频网在线直播| 一级做a爱片久久|