/* Program generated by Cbasic 5.0.0 */ /******************************************************************************* Copyright by Telesoft Europe AB 1990, 1991. Copyright by Telelogic Malmoe AB 1991, 1992, 1993, 1994. Copyright by Telelogic AB 1994 - 2006. This Program is owned by Telelogic and is protected by national copyright laws and international copyright treaties. Telelogic grants you the right to use this Program on one computer or in one local computer network at any one time. Under this License you may only modify the source code for the purpose of adapting it to your environment. You must reproduce and include any copyright and trademark notices on all copies of the source code. You may not use, copy, merge, modify or transfer the Program except as provided in this License. Telelogic does not warrant that the Program will meet your requirements or that the operation of the Program will be uninterrupted and error free. You are solely responsible that the selection of the Program and the modification of the source code will achieve your intended results and that the results are actually obtained. *******************************************************************************/ /* # $FileId: scttypes.h 131 : 2004/04/05 setoer */ /* FILE INDEX 00 Utility macros 01 Main User oriented #ifdef 02 Dependent #ifdef 03 C Library 04 SDL Model macro expansions 05 Utility #ifdef 06 Constants 07 Forward Declarations 08 SDL predefined types (except SDL_PId) 09 SDL_PId 10 Signal Set 11 Procedure ( = Prd ) 12 Process ( = Prs ) 13 Timer 14 Signal 15 Symbol Table 16 Global Data Structure 17 sctos 18 sctenv 19 sctsdl 20 sctpost 21 sctutil 22 sctmon 23 THREADED integration */ /****+*************************************************************** 00 Utility macros ********************************************************************/ /* to be used for inserting comments in in-line C-code in SDL. the syntax is: COMMENT(( your free format comment text )) */ struct _xSystemData; /****+*************************************************************** 01 Main User oriented #ifdef ********************************************************************/ /*---+--------------------------------------------------------------- #ifdef SCTDEBCOM -------------------------------------------------------------------*/ /* Simulator for host. Can be executed from SDL Suite or from OS. Requires post.o */ /* This is kernel Simulation in Generate-Options. */ /*---+--------------------------------------------------------------- #ifdef SCTDEB -------------------------------------------------------------------*/ /* Stand alone simulator for any environment. Should be executed from OS. */ /*---+--------------------------------------------------------------- #ifdef SCTDEBCLCOM -------------------------------------------------------------------*/ /* Simulator with real time for host. Can be executed from SDL Suite or from OS. Requires post.o */ /* This is kernel RealTimeSimulation in Generate-Options. */ /*---+--------------------------------------------------------------- #ifdef SCTDEBCLENVCOM -------------------------------------------------------------------*/ /* Simulator, with real time and env functions, for any environment. May be executed from OS or form Sim-UI. */ /* This is kernel ApplicationDebug in Generate-Options. */ /*---+--------------------------------------------------------------- #ifdef SCTDEBCL -------------------------------------------------------------------*/ /* Stand alone simulator with real time for any environment. Should be executed from OS. */ /*---+--------------------------------------------------------------- #ifdef SCTDEBCLENV -------------------------------------------------------------------*/ /* Stand alone simulator, with real time and env functions, for any environment. Should be executed from OS. */ /*---+--------------------------------------------------------------- #ifdef SCTAPPLENV -------------------------------------------------------------------*/ /* Application without clock. */ /*---+--------------------------------------------------------------- #ifdef SCTAPPLCLENV -------------------------------------------------------------------*/ /* Application!. */ /* This is kernel Application in Generate-Options. */ /*---+--------------------------------------------------------------- #ifdef SCTOPT1APPLCLENV -------------------------------------------------------------------*/ /* Application with minimal memory requirements. Real cannot be used. no Channel information */ /*---+--------------------------------------------------------------- #ifdef SCTOPT2APPLCLENV -------------------------------------------------------------------*/ /* Application with minimal memory requirements. Real cannot be used. const for all Channel information */ /*---+--------------------------------------------------------------- #ifdef SCTPERFSIM -------------------------------------------------------------------*/ /* Suitable for execution of performance simulations. */ /****+*************************************************************** 02 Dependent #ifdef ********************************************************************/ /*---+--------------------------------------------------------------- #ifdef THREADED_POSIX_THREADS -------------------------------------------------------------------*/ /* Threaded Light OS-integration. Application using POSIX threads. Currently tested only on Linux. */ /*---+--------------------------------------------------------------- Dependent user oriented #ifdef -------------------------------------------------------------------*/ /* Turn on all XE... .*/ /*---+--------------------------------------------------------------- Dependent function oriented #ifdef -------------------------------------------------------------------*/ /****+*************************************************************** 03 C Library ********************************************************************/ /*---+--------------------------------------------------------------- Compiler -------------------------------------------------------------------*/ /*---+--------------------------------------------------------------- General ANSI section -------------------------------------------------------------------*/ /*** *string.h - declarations for string manipulation functions * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file contains the function declarations for the string * manipulation functions. * [ANSI/System V] * * [Public] * ****/ #pragma once /*** *crtdefs.h - definitions/declarations common to all CRT * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file has mostly defines used by the entire CRT. * * [Public] * ****/ /* Lack of pragma once is deliberate */ /* Define _CRTIMP */ /* Note on use of "deprecate": * Various places in this header and other headers use __declspec(deprecate) or macros that have the term DEPRECATE in them. * We use deprecate here ONLY to signal the compiler to emit a warning about these items. The use of deprecate * should NOT be taken to imply that any standard committee has deprecated these functions from the relevant standards. * In fact, these functions are NOT deprecated from the standard. * * Full details can be found in our documentation by searching for "Security Enhancements in the CRT". */ /*** *sal.h - markers for documenting the semantics of APIs * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * sal.h provides a set of annotations to describe how a function uses its * parameters - the assumptions it makes about them, and the guarantees it makes * upon finishing. * * [Public] * ****/ /* ------------------------------------------------------------------------------- Introduction sal.h provides a set of annotations to describe how a function uses its parameters - the assumptions it makes about them, and the guarantees it makes upon finishing. Annotations may be placed before either a function parameter's type or its return type, and describe the function's behavior regarding the parameter or return value. There are two classes of annotations: buffer annotations and advanced annotations. Buffer annotations describe how functions use their pointer parameters, and advanced annotations either describe complex/unusual buffer behavior, or provide additional information about a parameter that is not otherwise expressible. ------------------------------------------------------------------------------- Buffer Annotations The most important annotations in sal.h provide a consistent way to annotate buffer parameters or return values for a function. Each of these annotations describes a single buffer (which could be a string, a fixed-length or variable-length array, or just a pointer) that the function interacts with: where it is, how large it is, how much is initialized, and what the function does with it. The appropriate macro for a given buffer can be constructed using the table below. Just pick the appropriate values from each category, and combine them together with a leading underscore. Some combinations of values do not make sense as buffer annotations. Only meaningful annotations can be added to your code; for a list of these, see the buffer annotation definitions section. Only a single buffer annotation should be used for each parameter. |------------|------------|---------|--------|----------|----------|---------------| | Level | Usage | Size | Output | NullTerm | Optional | Parameters | |------------|------------|---------|--------|----------|----------|---------------| | <> | <> | <> | <> | _z | <> | <> | | _deref | _in | _ecount | _full | _nz | _opt | (size) | | _deref_opt | _out | _bcount | _part | | | (size,length) | | | _inout | | | | | | | | | | | | | | |------------|------------|---------|--------|----------|----------|---------------| Level: Describes the buffer pointer's level of indirection from the parameter or return value 'p'. <> : p is the buffer pointer. _deref : *p is the buffer pointer. p must not be NULL. _deref_opt : *p may be the buffer pointer. p may be NULL, in which case the rest of the annotation is ignored. Usage: Describes how the function uses the buffer. <> : The buffer is not accessed. If used on the return value or with _deref, the function will provide the buffer, and it will be uninitialized at exit. Otherwise, the caller must provide the buffer. This should only be used for alloc and free functions. _in : The function will only read from the buffer. The caller must provide the buffer and initialize it. Cannot be used with _deref. _out : The function will only write to the buffer. If used on the return value or with _deref, the function will provide the buffer and initialize it. Otherwise, the caller must provide the buffer, and the function will initialize it. _inout : The function may freely read from and write to the buffer. The caller must provide the buffer and initialize it. If used with _deref, the buffer may be reallocated by the function. Size: Describes the total size of the buffer. This may be less than the space actually allocated for the buffer, in which case it describes the accessible amount. <> : No buffer size is given. If the type specifies the buffer size (such as with LPSTR and LPWSTR), that amount is used. Otherwise, the buffer is one element long. Must be used with _in, _out, or _inout. _ecount : The buffer size is an explicit element count. _bcount : The buffer size is an explicit byte count. Output: Describes how much of the buffer will be initialized by the function. For _inout buffers, this also describes how much is initialized at entry. Omit this category for _in buffers; they must be fully initialized by the caller. <> : The type specifies how much is initialized. For instance, a function initializing an LPWSTR must NULL-terminate the string. _full : The function initializes the entire buffer. _part : The function initializes part of the buffer, and explicitly indicates how much. NullTerm: States if the present of a '\0' marks the end of valid elements in the buffer. _z : A '\0' indicated the end of the buffer _nz : The buffer may not be null terminated and a '\0' does not indicate the end of the buffer. Optional: Describes if the buffer itself is optional. <> : The pointer to the buffer must not be NULL. _opt : The pointer to the buffer might be NULL. It will be checked before being dereferenced. Parameters: Gives explicit counts for the size and length of the buffer. <> : There is no explicit count. Use when neither _ecount nor _bcount is used. (size) : Only the buffer's total size is given. Use with _ecount or _bcount but not _part. (size,length) : The buffer's total size and initialized length are given. Use with _ecount_part and _bcount_part. ------------------------------------------------------------------------------- Buffer Annotation Examples LWSTDAPI_(BOOL) StrToIntExA( LPCSTR pszString, -- No annotation required, const implies __in. DWORD dwFlags, __out int *piRet -- A pointer whose dereference will be filled in. ); void MyPaintingFunction( __in HWND hwndControl, -- An initialized read-only parameter. __in_opt HDC hdcOptional, -- An initialized read-only parameter that might be NULL. __inout IPropertyStore *ppsStore -- An initialized parameter that may be freely used -- and modified. ); LWSTDAPI_(BOOL) PathCompactPathExA( __out_ecount(cchMax) LPSTR pszOut, -- A string buffer with cch elements that will -- be NULL terminated on exit. LPCSTR pszSrc, -- No annotation required, const implies __in. UINT cchMax, DWORD dwFlags ); HRESULT SHLocalAllocBytes( size_t cb, __deref_bcount(cb) T **ppv -- A pointer whose dereference will be set to an -- uninitialized buffer with cb bytes. ); __inout_bcount_full(cb) : A buffer with cb elements that is fully initialized at entry and exit, and may be written to by this function. __out_ecount_part(count, *countOut) : A buffer with count elements that will be partially initialized by this function. The function indicates how much it initialized by setting *countOut. ------------------------------------------------------------------------------- Advanced Annotations Advanced annotations describe behavior that is not expressible with the regular buffer macros. These may be used either to annotate buffer parameters that involve complex or conditional behavior, or to enrich existing annotations with additional information. __success(expr) f : indicates whether function f succeeded or not. If is true at exit, all the function's guarantees (as given by other annotations) must hold. If is false at exit, the caller should not expect any of the function's guarantees to hold. If not used, the function must always satisfy its guarantees. Added automatically to functions that indicate success in standard ways, such as by returning an HRESULT. __nullterminated p : Pointer p is a buffer that may be read or written up to and including the first NULL character or pointer. May be used on typedefs, which marks valid (properly initialized) instances of that type as being NULL-terminated. __nullnullterminated p : Pointer p is a buffer that may be read or written up to and including the first sequence of two NULL characters or pointers. May be used on typedefs, which marks valid instances of that type as being double-NULL terminated. __reserved v : Value v must be 0/NULL, reserved for future use. __checkReturn v : Return value v must not be ignored by callers of this function. __typefix(ctype) v : Value v should be treated as an instance of ctype, rather than its declared type. __override f : Specify C#-style 'override' behaviour for overriding virtual methods. __callback f : Function f can be used as a function pointer. __format_string p : Pointer p is a string that contains % markers in the style of printf. __blocksOn(resource) f : Function f blocks on the resource 'resource'. __fallthrough : Annotates switch statement labels where fall-through is desired, to distinguish from forgotten break statements. ------------------------------------------------------------------------------- Advanced Annotation Examples __success(return == TRUE) LWSTDAPI_(BOOL) PathCanonicalizeA(__out_ecount(MAX_PATH) LPSTR pszBuf, LPCSTR pszPath) : pszBuf is only guaranteed to be NULL-terminated when TRUE is returned. typedef __nullterminated WCHAR* LPWSTR : Initialized LPWSTRs are NULL-terminated strings. __out_ecount(cch) __typefix(LPWSTR) void *psz : psz is a buffer parameter which will be a NULL-terminated WCHAR string at exit, and which initially contains cch WCHARs. ------------------------------------------------------------------------------- */ #pragma once /* ------------------------------------------------------------------------------- Helper Macro Definitions These express behavior common to many of the high-level annotations. DO NOT USE THESE IN YOUR CODE. ------------------------------------------------------------------------------- */ /* The helper annotations are only understood by the compiler version used by various defect detection tools. When the regular compiler is running, they are defined into nothing, and do not affect the compiled code. */ /* ------------------------------------------------------------------------------- Buffer Annotation Definitions Any of these may be used to directly annotate functions, but only one should be used for each parameter. To determine which annotation to use for a given buffer, use the table in the buffer annotations section. ------------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------------- Advanced Annotation Definitions Any of these may be used to directly annotate functions, and may be used in combination with each other or with regular buffer macros. For an explanation of each annotation, see the advanced annotations section. ------------------------------------------------------------------------------- */ #pragma pack(push,8) /*** *vadefs.h - defines helper macros for stdarg.h * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This is a helper file for stdarg.h * * [Public] * ****/ #pragma once /* * Currently, all MS C compilers for Win32 platforms default to 8 byte * alignment. */ #pragma pack(push,8) typedef __w64 unsigned int uintptr_t; typedef char * va_list; #pragma pack(pop) /* preprocessor string helpers */ /* Define _CRTIMP_NOIA64 */ /* Define _CRTIMP2 */ /* Define _CRTIMP_ALTERNATIVE */ /* Define _MRTIMP */ /* Define _MRTIMP2 */ /* define a specific constant for mixed mode */ /* Define __STDC_SECURE_LIB__ */ /* Retain__GOT_SECURE_LIB__ for back-compat */ /* Default value for __STDC_WANT_SECURE_LIB__ is 1 */ /* Turn off warnings if __STDC_WANT_SECURE_LIB__ is 0 */ /* See note on use of deprecate at the top of this file */ /* Define _CRT_INSECURE_DEPRECATE */ /* See note on use of deprecate at the top of this file */ /* Define _CRT_INSECURE_DEPRECATE_MEMORY */ /* See note on use of deprecate at the top of this file */ /* Define _CRT_INSECURE_DEPRECATE_GLOBALS */ /* See note on use of deprecate at the top of this file */ /* Define _CRT_MANAGED_HEAP_DEPRECATE */ /* See note on use of deprecate at the top of this file */ /* _SECURECRT_FILL_BUFFER_PATTERN is the same as _bNoMansLandFill */ /* obsolete stuff */ /* Define _CRT_OBSOLETE */ /* See note on use of deprecate at the top of this file */ /* jit64 instrinsic stuff */ /* Define overload switches */ /* _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT is ignored if _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES is set to 0 */ /* Define _CRT_NONSTDC_DEPRECATE */ /* See note on use of deprecate at the top of this file */ typedef __w64 unsigned int size_t; typedef size_t rsize_t; typedef __w64 int intptr_t; typedef __w64 int ptrdiff_t; typedef unsigned short wchar_t; typedef unsigned short wint_t; typedef unsigned short wctype_t; /* errcode is deprecated in favor or errno_t, which is part of the standard proposal */ __declspec(deprecated("This name was supported during some Whidbey pre-releases. Instead, use the standard name errno_t.")) typedef int errcode; typedef int errno_t; typedef __w64 long __time32_t; /* 32-bit time value */ typedef __int64 __time64_t; /* 64-bit time value */ typedef __time64_t time_t; /* time value */ /* Define _CRTNOALIAS, _CRTRESTRICT */ /* Define __cdecl for non-Microsoft compilers */ /* _TRUNCATE */ /* helper macros for cpp overloads */ struct threadlocaleinfostruct; struct threadmbcinfostruct; typedef struct threadlocaleinfostruct * pthreadlocinfo; typedef struct threadmbcinfostruct * pthreadmbcinfo; struct __lc_time_data; typedef struct localeinfo_struct { pthreadlocinfo locinfo; pthreadmbcinfo mbcinfo; } _locale_tstruct, *_locale_t; typedef struct tagLC_ID { unsigned short wLanguage; unsigned short wCountry; unsigned short wCodePage; } LC_ID, *LPLC_ID; typedef struct threadlocaleinfostruct { int refcount; unsigned int lc_codepage; unsigned int lc_collate_cp; unsigned long lc_handle[6]; /* LCID */ LC_ID lc_id[6]; struct { char *locale; wchar_t *wlocale; int *refcount; int *wrefcount; } lc_category[6]; int lc_clike; int mb_cur_max; int * lconv_intl_refcount; int * lconv_num_refcount; int * lconv_mon_refcount; struct lconv * lconv; int * ctype1_refcount; unsigned short * ctype1; const unsigned short * pctype; const unsigned char * pclmap; const unsigned char * pcumap; struct __lc_time_data * lc_time_curr; } threadlocinfo; #pragma pack(pop) /* Define NULL pointer value */ /* For backwards compatibility */ /* Function prototypes */ void * __cdecl _memccpy( void * _Dst, const void * _Src, int _Val, size_t _MaxCount); void * __cdecl memchr( const void * _Buf , int _Val, size_t _MaxCount); int __cdecl _memicmp( const void * _Buf1, const void * _Buf2, size_t _Size); int __cdecl _memicmp_l( const void * _Buf1, const void * _Buf2, size_t _Size, _locale_t _Locale); int __cdecl memcmp( const void * _Buf1, const void * _Buf2, size_t _Size); void * __cdecl memcpy( void * _Dst, const void * _Src, size_t _Size); errno_t __cdecl memcpy_s( void * _Dst, rsize_t _DstSize, const void * _Src, rsize_t _MaxCount); void * __cdecl memset( void * _Dst, int _Val, size_t _Size); /* Non-ANSI names for compatibility */ __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_memccpy" ". See online help for details.")) void * __cdecl memccpy( void * _Dst, const void * _Src, int _Val, size_t _Size); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_memicmp" ". See online help for details.")) int __cdecl memicmp( const void * _Buf1, const void * _Buf2, size_t _Size); errno_t __cdecl _strset_s( char * _Dst, size_t _DstSize, int _Value); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _strset( char *_Dest, int _Value); errno_t __cdecl strcpy_s( char * _Dst, rsize_t _DstSize, const char * _Src); __declspec(deprecated("This function or variable may be unsafe. Consider using " "strcpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl strcpy( char *_Dest, const char * _Source); errno_t __cdecl strcat_s( char * _Dst, rsize_t _DstSize, const char * _Src); __declspec(deprecated("This function or variable may be unsafe. Consider using " "strcat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl strcat( char *_Dest, const char * _Source); int __cdecl strcmp( const char * _Str1, const char * _Str2); size_t __cdecl strlen( const char * _Str); size_t __cdecl strnlen( const char * _Str, size_t _MaxCount); static __inline size_t __cdecl strnlen_s( const char * _Str, size_t _MaxCount) { return strnlen(_Str, _MaxCount); } errno_t __cdecl memmove_s( void * _Dst, rsize_t _DstSize, const void * _Src, rsize_t _MaxCount); void * __cdecl memmove( void * _Dst, const void * _Src, size_t _Size); char * __cdecl _strdup( const char * _Src); char * __cdecl strchr( const char * _Str, int _Val); int __cdecl _stricmp( const char * _Str1, const char * _Str2); int __cdecl _strcmpi( const char * _Str1, const char * _Str2); int __cdecl _stricmp_l( const char * _Str1, const char * _Str2, _locale_t _Locale); int __cdecl strcoll( const char * _Str1, const char * _Str2); int __cdecl _strcoll_l( const char * _Str1, const char * _Str2, _locale_t _Locale); int __cdecl _stricoll( const char * _Str1, const char * _Str2); int __cdecl _stricoll_l( const char * _Str1, const char * _Str2, _locale_t _Locale); int __cdecl _strncoll ( const char * _Str1, const char * _Str2, size_t _MaxCount); int __cdecl _strncoll_l( const char * _Str1, const char * _Str2, size_t _MaxCount, _locale_t _Locale); int __cdecl _strnicoll ( const char * _Str1, const char * _Str2, size_t _MaxCount); int __cdecl _strnicoll_l( const char * _Str1, const char * _Str2, size_t _MaxCount, _locale_t _Locale); size_t __cdecl strcspn( const char * _Str, const char * _Control); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _strerror( const char * _ErrMsg); errno_t __cdecl _strerror_s( char * _Buf, size_t _SizeInBytes, const char * _ErrMsg); __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl strerror( int); errno_t __cdecl strerror_s( char * _Buf, size_t _SizeInBytes, int _ErrNum); errno_t __cdecl _strlwr_s( char * _Str, size_t _Size); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _strlwr( char *_String); errno_t __cdecl _strlwr_s_l( char * _Str, size_t _Size, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _strlwr_l( char *_String, _locale_t _Locale); errno_t __cdecl strncat_s( char * _Dst, rsize_t _DstSize, const char * _Src, rsize_t _MaxCount); #pragma warning(push) #pragma warning(disable:6059) /* prefast noise VSW 489802 */ __declspec(deprecated("This function or variable may be unsafe. Consider using " "strncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl strncat( char *_Dest, const char * _Source, size_t _Count); #pragma warning(pop) int __cdecl strncmp( const char * _Str1, const char * _Str2, size_t _MaxCount); int __cdecl _strnicmp( const char * _Str1, const char * _Str2, size_t _MaxCount); int __cdecl _strnicmp_l( const char * _Str1, const char * _Str2, size_t _MaxCount, _locale_t _Locale); errno_t __cdecl strncpy_s( char * _Dst, rsize_t _DstSize, const char * _Src, rsize_t _MaxCount); __declspec(deprecated("This function or variable may be unsafe. Consider using " "strncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl strncpy( char *_Dest, const char * _Source, size_t _Count); errno_t __cdecl _strnset_s( char * _Str, size_t _Size, int _Val, size_t _MaxCount); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _strnset( char *_Dest, int _Val, size_t _Count); char * __cdecl strpbrk( const char * _Str, const char * _Control); char * __cdecl strrchr( const char * _Str, int _Ch); char * __cdecl _strrev( char * _Str); size_t __cdecl strspn( const char * _Str, const char * _Control); char * __cdecl strstr( const char * _Str, const char * _SubStr); __declspec(deprecated("This function or variable may be unsafe. Consider using " "strtok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl strtok( char * _Str, const char * _Delim); char * __cdecl strtok_s( char * _Str, const char * _Delim, char ** _Context); errno_t __cdecl _strupr_s( char * _Str, size_t _Size); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _strupr( char *_String); errno_t __cdecl _strupr_s_l( char * _Str, size_t _Size, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _strupr_l( char *_String, _locale_t _Locale); size_t __cdecl strxfrm ( char * _Dst, const char * _Src, size_t _MaxCount); size_t __cdecl _strxfrm_l( char * _Dst, const char * _Src, size_t _MaxCount, _locale_t _Locale); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strdup" ". See online help for details.")) char * __cdecl strdup( const char * _Src); /* prototypes for oldnames.lib functions */ __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strcmpi" ". See online help for details.")) int __cdecl strcmpi( const char * _Str1, const char * _Str2); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_stricmp" ". See online help for details.")) int __cdecl stricmp( const char * _Str1, const char * _Str2); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strlwr" ". See online help for details.")) char * __cdecl strlwr( char * _Str); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strnicmp" ". See online help for details.")) int __cdecl strnicmp( const char * _Str1, const char * _Str, size_t _MaxCount); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strnset" ". See online help for details.")) char * __cdecl strnset( char * _Str, int _Val, size_t _MaxCount); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strrev" ". See online help for details.")) char * __cdecl strrev( char * _Str); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strset" ". See online help for details.")) char * __cdecl strset( char * _Str, int _Val); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strupr" ". See online help for details.")) char * __cdecl strupr( char * _Str); /* wide function prototypes, also declared in wchar.h */ wchar_t * __cdecl _wcsdup( const wchar_t * _Str); errno_t __cdecl wcscat_s( wchar_t * _Dst, rsize_t _DstSize, const wchar_t * _Src); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl wcscat( wchar_t *_Dest, const wchar_t * _Source); wchar_t * __cdecl wcschr( const wchar_t * _Str, wchar_t _Ch); int __cdecl wcscmp( const wchar_t * _Str1, const wchar_t * _Str2); errno_t __cdecl wcscpy_s( wchar_t * _Dst, rsize_t _DstSize, const wchar_t * _Src); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl wcscpy( wchar_t *_Dest, const wchar_t * _Source); size_t __cdecl wcscspn( const wchar_t * _Str, const wchar_t * _Control); size_t __cdecl wcslen( const wchar_t * _Str); size_t __cdecl wcsnlen( const wchar_t * _Src, size_t _MaxCount); static __inline size_t __cdecl wcsnlen_s( const wchar_t * _Src, size_t _MaxCount) { return wcsnlen(_Src, _MaxCount); } errno_t __cdecl wcsncat_s( wchar_t * _Dst, rsize_t _DstSize, const wchar_t * _Src, rsize_t _MaxCount); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl wcsncat( wchar_t *_Dest, const wchar_t * _Source, size_t _Count); int __cdecl wcsncmp( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount); errno_t __cdecl wcsncpy_s( wchar_t * _Dst, rsize_t _DstSize, const wchar_t * _Src, rsize_t _MaxCount); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl wcsncpy( wchar_t *_Dest, const wchar_t * _Source, size_t _Count); wchar_t * __cdecl wcspbrk( const wchar_t * _Str, const wchar_t * _Control); wchar_t * __cdecl wcsrchr( const wchar_t * _Str, wchar_t _Ch); size_t __cdecl wcsspn( const wchar_t * _Str, const wchar_t * _Control); wchar_t * __cdecl wcsstr( const wchar_t * _Str, const wchar_t * _SubStr); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl wcstok( wchar_t * _Str, const wchar_t * _Delim); wchar_t * __cdecl wcstok_s( wchar_t * _Str, const wchar_t * _Delim, wchar_t ** _Context); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wcserror( int _ErrNum); errno_t __cdecl _wcserror_s( wchar_t * _Buf, size_t _SizeInWords, int _ErrNum); __declspec(deprecated("This function or variable may be unsafe. Consider using " "__wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl __wcserror( const wchar_t * _Str); errno_t __cdecl __wcserror_s( wchar_t * _Buffer, size_t _SizeInWords, const wchar_t * _ErrMsg); int __cdecl _wcsicmp( const wchar_t * _Str1, const wchar_t * _Str2); int __cdecl _wcsicmp_l( const wchar_t * _Str1, const wchar_t * _Str2, _locale_t _Locale); int __cdecl _wcsnicmp( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount); int __cdecl _wcsnicmp_l( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount, _locale_t _Locale); errno_t __cdecl _wcsnset_s( wchar_t * _Dst, size_t _DstSizeInWords, wchar_t _Val, size_t _MaxCount); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wcsnset( wchar_t *_Str, wchar_t _Val, size_t _MaxCount); wchar_t * __cdecl _wcsrev( wchar_t * _Str); errno_t __cdecl _wcsset_s( wchar_t * _Str, size_t _SizeInWords, wchar_t _Val); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wcsset( wchar_t *_Str, wchar_t _Val); errno_t __cdecl _wcslwr_s( wchar_t * _Str, size_t _SizeInWords); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wcslwr( wchar_t *_String); errno_t __cdecl _wcslwr_s_l( wchar_t * _Str, size_t _SizeInWords, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wcslwr_l( wchar_t *_String, _locale_t _Locale); errno_t __cdecl _wcsupr_s( wchar_t * _Str, size_t _Size); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wcsupr( wchar_t *_String); errno_t __cdecl _wcsupr_s_l( wchar_t * _Str, size_t _Size, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wcsupr_l( wchar_t *_String, _locale_t _Locale); size_t __cdecl wcsxfrm( wchar_t * _Dst, const wchar_t * _Src, size_t _MaxCount); size_t __cdecl _wcsxfrm_l( wchar_t * _Dst, const wchar_t *_Src, size_t _MaxCount, _locale_t _Locale); int __cdecl wcscoll( const wchar_t * _Str1, const wchar_t * _Str2); int __cdecl _wcscoll_l( const wchar_t * _Str1, const wchar_t * _Str2, _locale_t _Locale); int __cdecl _wcsicoll( const wchar_t * _Str1, const wchar_t * _Str2); int __cdecl _wcsicoll_l( const wchar_t * _Str1, const wchar_t *_Str2, _locale_t _Locale); int __cdecl _wcsncoll( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount); int __cdecl _wcsncoll_l( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount, _locale_t _Locale); int __cdecl _wcsnicoll( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount); int __cdecl _wcsnicoll_l( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount, _locale_t _Locale); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsdup" ". See online help for details.")) wchar_t * __cdecl wcsdup( const wchar_t * _Str); /* old names */ /* prototypes for oldnames.lib functions */ __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsicmp" ". See online help for details.")) int __cdecl wcsicmp( const wchar_t * _Str1, const wchar_t * _Str2); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsnicmp" ". See online help for details.")) int __cdecl wcsnicmp( const wchar_t * _Str1, const wchar_t * _Str2, size_t _MaxCount); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsnset" ". See online help for details.")) wchar_t * __cdecl wcsnset( wchar_t * _Str, wchar_t _Val, size_t _MaxCount); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsrev" ". See online help for details.")) wchar_t * __cdecl wcsrev( wchar_t * _Str); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsset" ". See online help for details.")) wchar_t * __cdecl wcsset( wchar_t * _Str, wchar_t _Val); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcslwr" ". See online help for details.")) wchar_t * __cdecl wcslwr( wchar_t * _Str); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsupr" ". See online help for details.")) wchar_t * __cdecl wcsupr( wchar_t * _Str); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsicoll" ". See online help for details.")) int __cdecl wcsicoll( const wchar_t * _Str1, const wchar_t * _Str2); /*** *stdlib.h - declarations/definitions for commonly used library functions * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This include file contains the function declarations for commonly * used library functions which either don't fit somewhere else, or, * cannot be declared in the normal place for other reasons. * [ANSI] * * [Public] * ****/ #pragma once /*** *crtdefs.h - definitions/declarations common to all CRT * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file has mostly defines used by the entire CRT. * * [Public] * ****/ /* Lack of pragma once is deliberate */ /* Define _CRTIMP */ /*** *limits.h - implementation dependent values * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * Contains defines for a number of implementation dependent values * which are commonly used in C programs. * [ANSI] * * [Public] * ****/ #pragma once /*** *crtdefs.h - definitions/declarations common to all CRT * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file has mostly defines used by the entire CRT. * * [Public] * ****/ /* Lack of pragma once is deliberate */ /* Define _CRTIMP */ /* minimum signed 64 bit value */ /* maximum signed 64 bit value */ /* maximum unsigned 64 bit value */ /* While waiting to the C standard committee to finalize the decision on RSIZE_MAX and rsize_t, * we define RSIZE_MAX as SIZE_MAX */ /* * Currently, all MS C compilers for Win32 platforms default to 8 byte * alignment. */ #pragma pack(push,8) /* Define NULL pointer value */ /* Definition of the argument values for the exit() function */ typedef int (__cdecl * _onexit_t)(void); /* Non-ANSI name for compatibility */ /* Data structure definitions for div and ldiv runtimes. */ typedef struct _div_t { int quot; int rem; } div_t; typedef struct _ldiv_t { long quot; long rem; } ldiv_t; /* * structs used to fool the compiler into not generating floating point * instructions when copying and pushing [long] double values */ #pragma pack(4) typedef struct { unsigned char ld[10]; } _LDOUBLE; #pragma pack() typedef struct { double x; } _CRT_DOUBLE; typedef struct { float f; } _CRT_FLOAT; /* push and pop long, which is #defined as __int64 by a spec2k test */ typedef struct { /* * Assume there is a long double type */ long double x; } _LONGDOUBLE; #pragma pack(4) typedef struct { unsigned char ld12[12]; } _LDBL12; #pragma pack() /* Maximum value that can be returned by the rand function. */ /* * Maximum number of bytes in multi-byte character in the current locale * (also defined in ctype.h). */ extern int __mb_cur_max; int __cdecl ___mb_cur_max_func(void); int __cdecl ___mb_cur_max_l_func(_locale_t); /* Minimum and maximum macros */ /* * Sizes for buffers used by the _makepath() and _splitpath() functions. * note that the sizes include space for 0-terminator */ /* * Argument values for _set_error_mode(). */ /* * Argument values for _set_abort_behavior(). */ /* * Sizes for buffers used by the getenv/putenv family of functions. */ /* a purecall handler procedure. Never returns normally */ typedef void (__cdecl *_purecall_handler)(void); /* establishes a purecall handler for the process */ _purecall_handler __cdecl _set_purecall_handler( _purecall_handler _Handler); _purecall_handler __cdecl _get_purecall_handler(); /* a invalid_arg handler procedure. */ typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t *, const wchar_t *, const wchar_t *, unsigned int, uintptr_t); /* establishes a invalid_arg handler for the process */ _invalid_parameter_handler __cdecl _set_invalid_parameter_handler( _invalid_parameter_handler _Handler); _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void); /* External variable declarations */ extern int * __cdecl _errno(void); errno_t __cdecl _set_errno( int _Value); errno_t __cdecl _get_errno( int * _Value); unsigned long * __cdecl __doserrno(void); errno_t __cdecl _set_doserrno( unsigned long _Value); errno_t __cdecl _get_doserrno( unsigned long * _Value); /* you can't modify this, but it is non-const for backcompat */ __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char ** __cdecl __sys_errlist(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int * __cdecl __sys_nerr(void); extern int __argc; /* count of cmd line args */ extern char ** __argv; /* pointer to table of cmd line args */ extern wchar_t ** __wargv; /* pointer to table of wide cmd line args */ extern char ** _environ; /* pointer to environment table */ extern wchar_t ** _wenviron; /* pointer to wide environment table */ __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_pgmptr" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) extern char * _pgmptr; /* points to the module (EXE) name */ __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_wpgmptr" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) extern wchar_t * _wpgmptr; /* points to the module (EXE) wide name */ errno_t __cdecl _get_pgmptr( char ** _Value); errno_t __cdecl _get_wpgmptr( wchar_t ** _Value); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_fmode" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) extern int _fmode; /* default file translation mode */ errno_t __cdecl _set_fmode( int _Mode); errno_t __cdecl _get_fmode( int * _PMode); /* Windows major/minor and O.S. version numbers */ #pragma warning(push) #pragma warning(disable:4141) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_osplatform" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) extern unsigned int _osplatform; __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_osver" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) extern unsigned int _osver; __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_winver" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) extern unsigned int _winver; __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_winmajor" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) extern unsigned int _winmajor; __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_winminor" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) extern unsigned int _winminor; #pragma warning(pop) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_osplatform( unsigned int * _Value); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_osver( unsigned int * _Value); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_winver( unsigned int * _Value); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_winmajor( unsigned int * _Value); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_winminor( unsigned int * _Value); /* _countof helper */ /* function prototypes */ __declspec(noreturn) void __cdecl exit( int _Code); __declspec(noreturn) void __cdecl _exit( int _Code); void __cdecl abort(void); unsigned int __cdecl _set_abort_behavior( unsigned int _Flags, unsigned int _Mask); int __cdecl abs( int _X); long __cdecl labs( long _X); __int64 __cdecl _abs64(__int64); int __cdecl atexit(void (__cdecl *)(void)); double __cdecl atof( const char *_String); double __cdecl _atof_l( const char *_String, _locale_t _Locale); int __cdecl atoi( const char *_Str); int __cdecl _atoi_l( const char *_Str, _locale_t _Locale); long __cdecl atol( const char *_Str); long __cdecl _atol_l( const char *_Str, _locale_t _Locale); void * __cdecl bsearch_s( const void * _Key, const void * _Base, rsize_t _NumOfElements, rsize_t _SizeOfElements, int (__cdecl * _PtFuncCompare)(void *, const void *, const void *), void * _Context); void * __cdecl bsearch( const void * _Key, const void * _Base, size_t _NumOfElements, size_t _SizeOfElements, int (__cdecl * _PtFuncCompare)(const void *, const void *)); void __cdecl qsort_s( void * _Base, rsize_t _NumOfElements, rsize_t _SizeOfElements, int (__cdecl * _PtFuncCompare)(void *, const void *, const void *), void *_Context); void __cdecl qsort( void * _Base, size_t _NumOfElements, size_t _SizeOfElements, int (__cdecl * _PtFuncCompare)(const void *, const void *)); unsigned short __cdecl _byteswap_ushort( unsigned short _Short); unsigned long __cdecl _byteswap_ulong ( unsigned long _Long); unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 _Int64); div_t __cdecl div( int _Numerator, int _Denominator); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_dupenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl getenv( const char * _VarName); errno_t __cdecl getenv_s( size_t * _ReturnSize, char * _DstBuf, rsize_t _DstSize, const char * _VarName); errno_t __cdecl _dupenv_s( char **_PBuffer, size_t * _PBufferSizeInBytes, const char * _VarName); errno_t __cdecl _itoa_s( int _Value, char * _DstBuf, size_t _Size, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_itoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _itoa( int _Value, char *_Dest, int _Radix); errno_t __cdecl _i64toa_s( __int64 _Val, char * _DstBuf, size_t _Size, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_i64toa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _i64toa( __int64 _Val, char * _DstBuf, int _Radix); errno_t __cdecl _ui64toa_s( unsigned __int64 _Val, char * _DstBuf, size_t _Size, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ui64toa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _ui64toa( unsigned __int64 _Val, char * _DstBuf, int _Radix); __int64 __cdecl _atoi64( const char * _String); __int64 __cdecl _atoi64_l( const char * _String, _locale_t _Locale); __int64 __cdecl _strtoi64( const char * _String, char ** _EndPtr, int _Radix); __int64 __cdecl _strtoi64_l( const char * _String, char ** _EndPtr, int _Radix, _locale_t _Locale); unsigned __int64 __cdecl _strtoui64( const char * _String, char ** _EndPtr, int _Radix); unsigned __int64 __cdecl _strtoui64_l( const char * _String, char ** _EndPtr, int _Radix, _locale_t _Locale); ldiv_t __cdecl ldiv( long _Numerator, long _Denominator); errno_t __cdecl _ltoa_s( long _Val, char * _DstBuf, size_t _Size, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _ltoa( long _Value, char *_Dest, int _Radix); int __cdecl mblen( const char * _Ch, size_t _MaxCount); int __cdecl _mblen_l( const char * _Ch, size_t _MaxCount, _locale_t _Locale); size_t __cdecl _mbstrlen( const char * _Str); size_t __cdecl _mbstrlen_l( const char *_Str, _locale_t _Locale); size_t __cdecl _mbstrnlen( const char *_Str, size_t _MaxCount); size_t __cdecl _mbstrnlen_l( const char *_Str, size_t _MaxCount, _locale_t _Locale); int __cdecl mbtowc( wchar_t * _DstCh, const char * _SrcCh, size_t _SrcSizeInBytes); int __cdecl _mbtowc_l( wchar_t * _DstCh, const char * _SrcCh, size_t _SrcSizeInBytes, _locale_t _Locale); errno_t __cdecl mbstowcs_s( size_t * _PtNumOfCharConverted, wchar_t * _DstBuf, size_t _SizeInWords, const char * _SrcBuf, size_t _MaxCount ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "mbstowcs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) size_t __cdecl mbstowcs( wchar_t *_Dest, const char * _Source, size_t _MaxCount); errno_t __cdecl _mbstowcs_s_l( size_t * _PtNumOfCharConverted, wchar_t * _DstBuf, size_t _SizeInWords, const char * _SrcBuf, size_t _MaxCount, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbstowcs_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) size_t __cdecl _mbstowcs_l( wchar_t *_Dest, const char * _Source, size_t _MaxCount, _locale_t _Locale); int __cdecl rand(void); int __cdecl _set_error_mode( int _Mode); void __cdecl srand( unsigned int _Seed); double __cdecl strtod( const char * _Str, char ** _EndPtr); double __cdecl _strtod_l( const char * _Str, char ** _EndPtr, _locale_t _Locale); long __cdecl strtol( const char * _Str, char ** _EndPtr, int _Radix ); long __cdecl _strtol_l( const char *_Str, char **_EndPtr, int _Radix, _locale_t _Locale); unsigned long __cdecl strtoul( const char * _Str, char ** _EndPtr, int _Radix); unsigned long __cdecl _strtoul_l(const char * _Str, char **_EndPtr, int _Radix, _locale_t _Locale); int __cdecl system( const char * _Command); errno_t __cdecl _ultoa_s( unsigned long _Val, char * _DstBuf, size_t _Size, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _ultoa( unsigned long _Value, char *_Dest, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wctomb_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl wctomb( char * _MbCh, wchar_t _WCh); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wctomb_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _wctomb_l( char * _MbCh, wchar_t _WCh, _locale_t _Locale); errno_t __cdecl wctomb_s( int * _SizeConverted, char * _MbCh, rsize_t _SizeInBytes, wchar_t _WCh); errno_t __cdecl _wctomb_s_l( int * _SizeConverted, char * _MbCh, size_t _SizeInBytes, wchar_t _WCh, _locale_t _Locale); errno_t __cdecl wcstombs_s( size_t * _PtNumOfCharConverted, char * _Dst, size_t _DstSizeInBytes, const wchar_t * _Src, size_t _MaxCountInBytes); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstombs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) size_t __cdecl wcstombs( char *_Dest, const wchar_t * _Source, size_t _MaxCount); errno_t __cdecl _wcstombs_s_l( size_t * _PtNumOfCharConverted, char * _Dst, size_t _DstSizeInBytes, const wchar_t * _Src, size_t _MaxCountInBytes, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcstombs_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) size_t __cdecl _wcstombs_l( char *_Dest, const wchar_t * _Source, size_t _MaxCount, _locale_t _Locale); __declspec(noalias) __declspec(restrict) void * __cdecl calloc( size_t _NumOfElements, size_t _SizeOfElements); __declspec(noalias) void __cdecl free( void * _Memory); __declspec(noalias) __declspec(restrict) void * __cdecl malloc( size_t _Size); __declspec(noalias) __declspec(restrict) void * __cdecl realloc( void * _Memory, size_t _NewSize); __declspec(noalias) __declspec(restrict) void * __cdecl _recalloc( void * _Memory, size_t _Count, size_t _Size); __declspec(noalias) void __cdecl _aligned_free( void * _Memory); __declspec(noalias) __declspec(restrict) void * __cdecl _aligned_malloc( size_t _Size, size_t _Alignment); __declspec(noalias) __declspec(restrict) void * __cdecl _aligned_offset_malloc( size_t _Size, size_t _Alignment, size_t _Offset); __declspec(noalias) __declspec(restrict) void * __cdecl _aligned_realloc( void * _Memory, size_t _Size, size_t _Alignment); __declspec(noalias) __declspec(restrict) void * __cdecl _aligned_recalloc( void * _Memory, size_t _Count, size_t _Size, size_t _Alignment); __declspec(noalias) __declspec(restrict) void * __cdecl _aligned_offset_realloc( void * _Memory, size_t _Size, size_t _Alignment, size_t _Offset); __declspec(noalias) __declspec(restrict) void * __cdecl _aligned_offset_recalloc( void * _Memory, size_t _Count, size_t _Size, size_t _Alignment, size_t _Offset); size_t __cdecl _aligned_msize( void * _Memory, size_t _Alignment, size_t _Offset); /* wide function prototypes, also declared in wchar.h */ errno_t __cdecl _itow_s ( int _Val, wchar_t * _DstBuf, size_t _SizeInWords, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_itow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _itow( int _Value, wchar_t *_Dest, int _Radix); errno_t __cdecl _ltow_s ( long _Val, wchar_t * _DstBuf, size_t _SizeInWords, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _ltow( long _Value, wchar_t *_Dest, int _Radix); errno_t __cdecl _ultow_s ( unsigned long _Val, wchar_t * _DstBuf, size_t _SizeInWords, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _ultow( unsigned long _Value, wchar_t *_Dest, int _Radix); double __cdecl wcstod( const wchar_t * _Str, wchar_t ** _EndPtr); double __cdecl _wcstod_l( const wchar_t *_Str, wchar_t ** _EndPtr, _locale_t _Locale); long __cdecl wcstol( const wchar_t *_Str, wchar_t ** _EndPtr, int _Radix); long __cdecl _wcstol_l( const wchar_t *_Str, wchar_t **_EndPtr, int _Radix, _locale_t _Locale); unsigned long __cdecl wcstoul( const wchar_t *_Str, wchar_t ** _EndPtr, int _Radix); unsigned long __cdecl _wcstoul_l( const wchar_t *_Str, wchar_t **_EndPtr, int _Radix, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wdupenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wgetenv( const wchar_t * _VarName); errno_t __cdecl _wgetenv_s( size_t * _ReturnSize, wchar_t * _DstBuf, size_t _DstSizeInWords, const wchar_t * _VarName); errno_t __cdecl _wdupenv_s( wchar_t **_Buffer, size_t *_BufferSizeInWords, const wchar_t *_VarName); int __cdecl _wsystem( const wchar_t * _Command); double __cdecl _wtof( const wchar_t *_Str); double __cdecl _wtof_l( const wchar_t *_Str, _locale_t _Locale); int __cdecl _wtoi( const wchar_t *_Str); int __cdecl _wtoi_l( const wchar_t *_Str, _locale_t _Locale); long __cdecl _wtol( const wchar_t *_Str); long __cdecl _wtol_l( const wchar_t *_Str, _locale_t _Locale); errno_t __cdecl _i64tow_s( __int64 _Val, wchar_t * _DstBuf, size_t _SizeInWords, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_i65tow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _i64tow( __int64 _Val, wchar_t * _DstBuf, int _Radix); errno_t __cdecl _ui64tow_s( unsigned __int64 _Val, wchar_t * _DstBuf, size_t _SizeInWords, int _Radix); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ui64tow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _ui64tow( unsigned __int64 _Val, wchar_t * _DstBuf, int _Radix); __int64 __cdecl _wtoi64( const wchar_t *_Str); __int64 __cdecl _wtoi64_l( const wchar_t *_Str, _locale_t _Locale); __int64 __cdecl _wcstoi64( const wchar_t * _Str, wchar_t ** _EndPtr, int _Radix); __int64 __cdecl _wcstoi64_l( const wchar_t * _Str, wchar_t ** _EndPtr, int _Radix, _locale_t _Locale); unsigned __int64 __cdecl _wcstoui64( const wchar_t * _Str, wchar_t ** _EndPtr, int _Radix); unsigned __int64 __cdecl _wcstoui64_l( const wchar_t *_Str , wchar_t ** _EndPtr, int _Radix, _locale_t _Locale); /* Buffer size required to be passed to _gcvt, fcvt and other fp conversion routines */ char * __cdecl _fullpath( char * _FullPath, const char * _Path, size_t _SizeInBytes); errno_t __cdecl _ecvt_s( char * _DstBuf, size_t _Size, double _Val, int _NumOfDights, int * _PtDec, int * _PtSign); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ecvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _ecvt( double _Val, int _NumOfDigits, int * _PtDec, int * _PtSign); errno_t __cdecl _fcvt_s( char * _DstBuf, size_t _Size, double _Val, int _NumOfDec, int * _PtDec, int * _PtSign); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _fcvt( double _Val, int _NumOfDec, int * _PtDec, int * _PtSign); errno_t __cdecl _gcvt_s( char * _DstBuf, size_t _Size, double _Val, int _NumOfDigits); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_gcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _gcvt( double _Val, int _NumOfDigits, char * _DstBuf); int __cdecl _atodbl( _CRT_DOUBLE * _Result, char * _Str); int __cdecl _atoldbl( _LDOUBLE * _Result, char * _Str); int __cdecl _atoflt( _CRT_FLOAT * _Result, char * _Str); int __cdecl _atodbl_l( _CRT_DOUBLE * _Result, char * _Str, _locale_t _Locale); int __cdecl _atoldbl_l( _LDOUBLE * _Result, char * _Str, _locale_t _Locale); int __cdecl _atoflt_l( _CRT_FLOAT * _Result, char * _Str, _locale_t _Locale); unsigned long __cdecl _lrotl( unsigned long _Val, int _Shift); unsigned long __cdecl _lrotr( unsigned long _Val, int _Shift); errno_t __cdecl _makepath_s( char * _PathResult, size_t _Size, const char * _Drive, const char * _Dir, const char * _Filename, const char * _Ext); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_makepath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _makepath( char *_Path, const char * _Drive, const char * _Dir, const char * _Filename, const char * _Ext); _onexit_t __cdecl _onexit( _onexit_t _Func); void __cdecl perror( const char * _ErrMsg); int __cdecl _putenv( const char * _EnvString); errno_t __cdecl _putenv_s( const char * _Name, const char * _Value); unsigned int __cdecl _rotl( unsigned int _Val, int _Shift); unsigned __int64 __cdecl _rotl64( unsigned __int64 _Val, int _Shift); unsigned int __cdecl _rotr( unsigned int _Val, int _Shift); unsigned __int64 __cdecl _rotr64( unsigned __int64 _Val, int _Shift); errno_t __cdecl _searchenv_s( const char * _Filename, const char * _EnvVar, char * _ResultPath, size_t _SizeInBytes); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_searchenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _searchenv( const char * _Filename, const char * _EnvVar, char *_ResultPath); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_splitpath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _splitpath( const char * _FullPath, char * _Drive, char * _Dir, char * _Filename, char * _Ext); errno_t __cdecl _splitpath_s( const char * _FullPath, char * _Drive, size_t _DriveSize, char * _Dir, size_t _DirSize, char * _Filename, size_t _FilenameSize, char * _Ext, size_t _ExtSize); void __cdecl _swab( char * _Buf1, char * _Buf2, int _SizeInBytes); /* wide function prototypes, also declared in wchar.h */ wchar_t * __cdecl _wfullpath( wchar_t * _FullPath, const wchar_t * _Path, size_t _SizeInWords); errno_t __cdecl _wmakepath_s( wchar_t * _PathResult, size_t _SizeInWords, const wchar_t * _Drive, const wchar_t * _Dir, const wchar_t * _Filename, const wchar_t * _Ext); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wmakepath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _wmakepath( wchar_t *_ResultPath, const wchar_t * _Drive, const wchar_t * _Dir, const wchar_t * _Filename, const wchar_t * _Ext); void __cdecl _wperror( const wchar_t * _ErrMsg); int __cdecl _wputenv( const wchar_t * _EnvString); errno_t __cdecl _wputenv_s( const wchar_t * _Name, const wchar_t * _Value); errno_t __cdecl _wsearchenv_s( const wchar_t * _Filename, const wchar_t * _EnvVar, wchar_t * _ResultPath, size_t _SizeInWords); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsearchenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _wsearchenv( const wchar_t * _Filename, const wchar_t * _EnvVar, wchar_t *_ResultPath); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsplitpath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _wsplitpath( const wchar_t * _FullPath, wchar_t * _Drive, wchar_t * _Dir, wchar_t * _Filename, wchar_t * _Ext); errno_t __cdecl _wsplitpath_s( const wchar_t * _FullPath, wchar_t * _Drive, size_t _DriveSizeInWords, wchar_t * _Dir, size_t _DirSizeInWords, wchar_t * _Filename, size_t _FilenameSizeInWords, wchar_t * _Ext, size_t _ExtSizeInWords); /* The Win32 API SetErrorMode, Beep and Sleep should be used instead. */ __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "SetErrorMode" " instead. See online help for details.")) void __cdecl _seterrormode( int _Mode); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "Beep" " instead. See online help for details.")) void __cdecl _beep( unsigned _Frequency, unsigned _Duration); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "Sleep" " instead. See online help for details.")) void __cdecl _sleep( unsigned long _Duration); /* Non-ANSI names for compatibility */ #pragma warning(push) #pragma warning(disable: 4141) __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_ecvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ecvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl ecvt( double _Val, int _NumOfDigits, int * _PtDec, int * _PtSign); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fcvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl fcvt( double _Val, int _NumOfDec, int * _PtDec, int * _PtSign); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_gcvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl gcvt( double _Val, int _NumOfDigits, char * _DstBuf); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_itoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_itoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl itoa( int _Val, char * _DstBuf, int _Radix); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_ltoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl ltoa( long _Val, char * _DstBuf, int _Radix); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_putenv" ". See online help for details.")) int __cdecl putenv( const char * _EnvString); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_swab" ". See online help for details.")) void __cdecl swab( char * _Buf1, char * _Buf2, int _SizeInBytes); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_ultoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl ultoa( unsigned long _Val, char * _Dstbuf, int _Radix); #pragma warning(pop) _onexit_t __cdecl onexit( _onexit_t _Func); #pragma pack(pop) /*** *stdarg.h - defines ANSI-style macros for variable argument functions * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file defines ANSI-style macros for accessing arguments * of functions which take a variable number of arguments. * [ANSI] * * [Public] * ****/ #pragma once /*** *stdio.h - definitions/declarations for standard I/O routines * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file defines the structures, values, macros, and functions * used by the level 2 I/O ("standard I/O") routines. * [ANSI/System V] * * [Public] * ****/ #pragma once /*** *crtdefs.h - definitions/declarations common to all CRT * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file has mostly defines used by the entire CRT. * * [Public] * ****/ /* Lack of pragma once is deliberate */ /* Define _CRTIMP */ /* * Currently, all MS C compilers for Win32 platforms default to 8 byte * alignment. */ #pragma pack(push,8) /* Buffered I/O macros */ /* * Default number of supported streams. _NFILE is confusing and obsolete, but * supported anyway for backwards compatibility. */ /* * Number of entries in _iob[] (declared below). Note that _NSTREAM_ must be * greater than or equal to _IOB_ENTRIES. */ struct _iobuf { char *_ptr; int _cnt; char *_base; int _flag; int _file; int _charbuf; int _bufsiz; char *_tmpfname; }; typedef struct _iobuf FILE; /* Directory where temporary files may be created. */ /* L_tmpnam = length of string _P_tmpdir * + 1 if _P_tmpdir does not end in "/" or "\", else 0 * + 12 (for the filename string) * + 1 (for the null terminator) * L_tmpnam_s = length of string _P_tmpdir * + 1 if _P_tmpdir does not end in "/" or "\", else 0 * + 16 (for the filename string) * + 1 (for the null terminator) */ /* Seek method constants */ /* Define NULL pointer value */ /* Declare _iob[] array */ FILE * __cdecl __iob_func(void); /* Define file position type */ /* At this point we could switch both to long long, but we won't do that till next version to avoid any potential compat issues */ typedef __int64 fpos_t; /* constants used by _set_output_format */ /* Function prototypes */ int __cdecl _filbuf( FILE * _File ); int __cdecl _flsbuf( int _Ch, FILE * _File); FILE * __cdecl _fsopen( const char * _Filename, const char * _Mode, int _ShFlag); void __cdecl clearerr( FILE * _File); errno_t __cdecl clearerr_s( FILE * _File ); int __cdecl fclose( FILE * _File); int __cdecl _fcloseall(void); FILE * __cdecl _fdopen( int _FileHandle, const char * _Mode); int __cdecl feof( FILE * _File); int __cdecl ferror( FILE * _File); int __cdecl fflush( FILE * _File); int __cdecl fgetc( FILE * _File); int __cdecl _fgetchar(void); int __cdecl fgetpos( FILE * _File , fpos_t * _Pos); char * __cdecl fgets( char * _Buf, int _MaxCount, FILE * _File); int __cdecl _fileno( FILE * _File); char * __cdecl _tempnam( const char * _DirName, const char * _FilePrefix); int __cdecl _flushall(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "fopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) FILE * __cdecl fopen( const char * _Filename, const char * _Mode); errno_t __cdecl fopen_s( FILE ** _File, const char * _Filename, const char * _Mode); int __cdecl fprintf( FILE * _File, const char * _Format, ...); int __cdecl fprintf_s( FILE * _File, const char * _Format, ...); int __cdecl fputc( int _Ch, FILE * _File); int __cdecl _fputchar( int _Ch); int __cdecl fputs( const char * _Str, FILE * _File); size_t __cdecl fread( void * _DstBuf, size_t _ElementSize, size_t _Count, FILE * _File); size_t __cdecl fread_s( void * _DstBuf, size_t _DstSize, size_t _ElementSize, size_t _Count, FILE * _File); __declspec(deprecated("This function or variable may be unsafe. Consider using " "freopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) FILE * __cdecl freopen( const char * _Filename, const char * _Mode, FILE * _File); errno_t __cdecl freopen_s( FILE ** _File, const char * _Filename, const char * _Mode, FILE * _OldFile); __declspec(deprecated("This function or variable may be unsafe. Consider using " "fscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl fscanf( FILE * _File, const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _fscanf_l( FILE * _File, const char * _Format, _locale_t _Locale, ...); int __cdecl fscanf_s( FILE * _File, const char * _Format, ...); int __cdecl _fscanf_s_l( FILE * _File, const char * _Format, _locale_t _Locale, ...); int __cdecl fsetpos( FILE * _File, const fpos_t * _Pos); int __cdecl fseek( FILE * _File, long _Offset, int _Origin); long __cdecl ftell( FILE * _File); int __cdecl _fseeki64( FILE * _File, __int64 _Offset, int _Origin); __int64 __cdecl _ftelli64( FILE * _File); size_t __cdecl fwrite( const void * _Str, size_t _Size, size_t _Count, FILE * _File); int __cdecl getc( FILE * _File); int __cdecl getchar(void); int __cdecl _getmaxstdio(void); char * __cdecl gets_s( char * _Buf, rsize_t _Size); __declspec(deprecated("This function or variable may be unsafe. Consider using " "gets_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl gets( char *_Buffer); int __cdecl _getw( FILE * _File); int __cdecl _pclose( FILE * _File); FILE * __cdecl _popen( const char * _Command, const char * _Mode); int __cdecl printf( const char * _Format, ...); int __cdecl printf_s( const char * _Format, ...); int __cdecl putc( int _Ch, FILE * _File); int __cdecl putchar( int _Ch); int __cdecl puts( const char * _Str); int __cdecl _putw( int _Word, FILE * _File); int __cdecl remove( const char * _Filename); int __cdecl rename( const char * _OldFilename, const char * _NewFilename); int __cdecl _unlink( const char * _Filename); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_unlink" ". See online help for details.")) int __cdecl unlink( const char * _Filename); void __cdecl rewind( FILE * _File); int __cdecl _rmtmp(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "scanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl scanf( const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_scanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _scanf_l( const char * _Format, _locale_t _Locale, ...); int __cdecl scanf_s( const char * _Format, ...); int __cdecl _scanf_s_l( const char * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "setvbuf" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl setbuf( FILE * _File, char * _Buffer); int __cdecl _setmaxstdio( int _Max); unsigned int __cdecl _set_output_format( unsigned int _Format); unsigned int __cdecl _get_output_format(void); int __cdecl setvbuf( FILE * _File, char * _Buf, int _Mode, size_t _Size); int __cdecl _snprintf_s( char * _DstBuf, size_t _DstSize, size_t _MaxCount, const char * _Format, ...); int __cdecl sprintf_s( char * _DstBuf, size_t _DstSize, const char * _Format, ...); int __cdecl _scprintf( const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "sscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl sscanf( const char * _Src, const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _sscanf_l( const char * _Src, const char * _Format, _locale_t _Locale, ...); int __cdecl sscanf_s( const char * _Src, const char * _Format, ...); int __cdecl _sscanf_s_l( const char * _Src, const char * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snscanf( const char * _Src, size_t _MaxCount, const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snscanf_l( const char * _Src, size_t _MaxCount, const char * _Format, _locale_t _Locale, ...); int __cdecl _snscanf_s( const char * _Src, size_t _MaxCount, const char * _Format, ...); int __cdecl _snscanf_s_l( const char * _Src, size_t _MaxCount, const char * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpfile_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) FILE * __cdecl tmpfile(void); errno_t __cdecl tmpfile_s( FILE ** _File); errno_t __cdecl tmpnam_s( char * _Buf, rsize_t _Size); __declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl tmpnam( char *_Buffer); int __cdecl ungetc( int _Ch, FILE * _File); int __cdecl vfprintf( FILE * _File, const char * _Format, va_list _ArgList); int __cdecl vfprintf_s( FILE * _File, const char * _Format, va_list _ArgList); int __cdecl vprintf( const char * _Format, va_list _ArgList); int __cdecl vprintf_s( const char * _Format, va_list _ArgList); __declspec(deprecated("This function or variable may be unsafe. Consider using " "vsnprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl vsnprintf( char * _DstBuf, size_t _MaxCount, const char * _Format, va_list _ArgList); int __cdecl vsnprintf_s( char * _DstBuf, size_t _DstSize, size_t _MaxCount, const char * _Format, va_list _ArgList); int __cdecl _vsnprintf_s( char * _DstBuf, size_t _DstSize, size_t _MaxCount, const char * _Format, va_list _ArgList); #pragma warning(push) #pragma warning(disable:4793) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snprintf( char *_Dest, size_t _Count, const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _vsnprintf( char *_Dest, size_t _Count, const char * _Format, va_list _Args); #pragma warning(pop) int __cdecl vsprintf_s( char * _DstBuf, size_t _Size, const char * _Format, va_list _ArgList); #pragma warning(push) #pragma warning(disable:4793) __declspec(deprecated("This function or variable may be unsafe. Consider using " "sprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl sprintf( char *_Dest, const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl vsprintf( char *_Dest, const char * _Format, va_list _Args); #pragma warning(pop) int __cdecl _vscprintf( const char * _Format, va_list _ArgList); int __cdecl _snprintf_c( char * _DstBuf, size_t _MaxCount, const char * _Format, ...); int __cdecl _vsnprintf_c( char *_DstBuf, size_t _MaxCount, const char * _Format, va_list _ArgList); int __cdecl _fprintf_p( FILE * _File, const char * _Format, ...); int __cdecl _printf_p( const char * _Format, ...); int __cdecl _sprintf_p( char * _Dst, size_t _MaxCount, const char * _Format, ...); int __cdecl _vfprintf_p( FILE * _File, const char * _Format, va_list _ArgList); int __cdecl _vprintf_p( const char * _Format, va_list _ArgList); int __cdecl _vsprintf_p( char * _Dst, size_t _MaxCount, const char * _Format, va_list _ArgList); int __cdecl _scprintf_p( const char * _Format, ...); int __cdecl _vscprintf_p( const char * _Format, va_list _ArgList); int __cdecl _set_printf_count_output( int _Value); int __cdecl _get_printf_count_output(); int __cdecl _printf_l( const char * _Format, _locale_t _Locale, ...); int __cdecl _printf_p_l( const char * _Format, _locale_t _Locale, ...); int __cdecl _printf_s_l( const char * _Format, _locale_t _Locale, ...); int __cdecl _vprintf_l( const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vprintf_p_l( const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vprintf_s_l( const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _fprintf_l( FILE * _File, const char * _Format, _locale_t _Locale, ...); int __cdecl _fprintf_p_l( FILE * _File, const char * _Format, _locale_t _Locale, ...); int __cdecl _fprintf_s_l( FILE * _File, const char * _Format, _locale_t _Locale, ...); int __cdecl _vfprintf_l( FILE * _File, const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vfprintf_p_l( FILE * _File, const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vfprintf_s_l( FILE * _File, const char * _Format, _locale_t _Locale, va_list _ArgList); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _sprintf_l( char * _DstBuf, const char * _Format, _locale_t _Locale, ...); int __cdecl _sprintf_p_l( char * _DstBuf, size_t _MaxCount, const char * _Format, _locale_t _Locale, ...); int __cdecl _sprintf_s_l( char * _DstBuf, size_t _DstSize, const char * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _vsprintf_l( char * _DstBuf, const char * _Format, _locale_t, va_list _ArgList); int __cdecl _vsprintf_p_l( char * _DstBuf, size_t _MaxCount, const char* _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vsprintf_s_l( char * _DstBuf, size_t _DstSize, const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _scprintf_l( const char * _Format, _locale_t _Locale, ...); int __cdecl _scprintf_p_l( const char * _Format, _locale_t _Locale, ...); int __cdecl _vscprintf_l( const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vscprintf_p_l( const char * _Format, _locale_t _Locale, va_list _ArgList); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snprintf_l( char * _DstBuf, size_t _MaxCount, const char * _Format, _locale_t _Locale, ...); int __cdecl _snprintf_c_l( char * _DstBuf, size_t _MaxCount, const char * _Format, _locale_t _Locale, ...); int __cdecl _snprintf_s_l( char * _DstBuf, size_t _DstSize, size_t _MaxCount, const char * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _vsnprintf_l( char * _DstBuf, size_t _MaxCount, const char * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vsnprintf_c_l( char * _DstBuf, size_t _MaxCount, const char *, _locale_t _Locale, va_list _ArgList); int __cdecl _vsnprintf_s_l( char * _DstBuf, size_t _DstSize, size_t _MaxCount, const char* _Format, _locale_t _Locale, va_list _ArgList); /* wide function prototypes, also declared in wchar.h */ FILE * __cdecl _wfsopen( const wchar_t * _Filename, const wchar_t * _Mode, int _ShFlag); wint_t __cdecl fgetwc( FILE * _File); wint_t __cdecl _fgetwchar(void); wint_t __cdecl fputwc( wchar_t _Ch, FILE * _File); wint_t __cdecl _fputwchar( wchar_t _Ch); wint_t __cdecl getwc( FILE * _File); wint_t __cdecl getwchar(void); wint_t __cdecl putwc( wchar_t _Ch, FILE * _File); wint_t __cdecl putwchar( wchar_t _Ch); wint_t __cdecl ungetwc( wint_t _Ch, FILE * _File); wchar_t * __cdecl fgetws( wchar_t * _Dst, int _SizeInWords, FILE * _File); int __cdecl fputws( const wchar_t * _Str, FILE * _File); wchar_t * __cdecl _getws_s( wchar_t * _Str, size_t _SizeInWords); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_getws_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _getws( wchar_t *_String); int __cdecl _putws( const wchar_t * _Str); int __cdecl fwprintf( FILE * _File, const wchar_t * _Format, ...); int __cdecl fwprintf_s( FILE * _File, const wchar_t * _Format, ...); int __cdecl wprintf( const wchar_t * _Format, ...); int __cdecl wprintf_s( const wchar_t * _Format, ...); int __cdecl _scwprintf( const wchar_t * _Format, ...); int __cdecl vfwprintf( FILE * _File, const wchar_t * _Format, va_list _ArgList); int __cdecl vfwprintf_s( FILE * _File, const wchar_t * _Format, va_list _ArgList); int __cdecl vwprintf( const wchar_t * _Format, va_list _ArgList); int __cdecl vwprintf_s( const wchar_t * _Format, va_list _ArgList); int __cdecl swprintf_s( wchar_t * _Dst, size_t _SizeInWords, const wchar_t * _Format, ...); int __cdecl vswprintf_s( wchar_t * _Dst, size_t _SizeInWords, const wchar_t * _Format, va_list _ArgList); int __cdecl _swprintf_c( wchar_t * _DstBuf, size_t _SizeInWords, const wchar_t * _Format, ...); int __cdecl _vswprintf_c( wchar_t * _DstBuf, size_t _SizeInWords, const wchar_t * _Format, va_list _ArgList); int __cdecl _snwprintf_s( wchar_t * _DstBuf, size_t _DstSizeInWords, size_t _MaxCount, const wchar_t * _Format, ...); int __cdecl _vsnwprintf_s( wchar_t * _DstBuf, size_t _DstSizeInWords, size_t _MaxCount, const wchar_t * _Format, va_list _ArgList); #pragma warning(push) #pragma warning(disable:4793) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snwprintf( wchar_t *_Dest, size_t _Count, const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _vsnwprintf( wchar_t *_Dest, size_t _Count, const wchar_t * _Format, va_list _Args); #pragma warning(pop) int __cdecl _fwprintf_p( FILE * _File, const wchar_t * _Format, ...); int __cdecl _wprintf_p( const wchar_t * _Format, ...); int __cdecl _vfwprintf_p( FILE * _File, const wchar_t * _Format, va_list _ArgList); int __cdecl _vwprintf_p( const wchar_t * _Format, va_list _ArgList); int __cdecl _swprintf_p( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, ...); int __cdecl _vswprintf_p( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, va_list _ArgList); int __cdecl _scwprintf_p( const wchar_t * _Format, ...); int __cdecl _vscwprintf_p( const wchar_t * _Format, va_list _ArgList); int __cdecl _wprintf_l( const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _wprintf_p_l( const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _wprintf_s_l( const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _vwprintf_l( const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vwprintf_p_l( const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vwprintf_s_l( const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _fwprintf_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _fwprintf_p_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _fwprintf_s_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _vfwprintf_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vfwprintf_p_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vfwprintf_s_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _swprintf_c_l( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _swprintf_p_l( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _swprintf_s_l( wchar_t * _DstBuf, size_t _DstSize, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _vswprintf_c_l( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vswprintf_p_l( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vswprintf_s_l( wchar_t * _DstBuf, size_t _DstSize, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _scwprintf_l( const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _scwprintf_p_l( const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _vscwprintf_p_l( const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snwprintf_l( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _snwprintf_s_l( wchar_t * _DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _vsnwprintf_l( wchar_t * _DstBuf, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); int __cdecl _vsnwprintf_s_l( wchar_t * _DstBuf, size_t _DstSize, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); /* we could end up with a double deprecation, disable warnings 4141 and 4996 */ #pragma warning(push) #pragma warning(disable:4141 4996 4793) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_swprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) int __cdecl _swprintf( wchar_t *_Dest, const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "vswprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) int __cdecl _vswprintf( wchar_t *_Dest, const wchar_t * _Format, va_list _Args); __declspec(deprecated("This function or variable may be unsafe. Consider using " "__swprintf_l_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) int __cdecl __swprintf_l( wchar_t *_Dest, const wchar_t * _Format, _locale_t _Plocinfo, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vswprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) int __cdecl __vswprintf_l( wchar_t *_Dest, const wchar_t * _Format, _locale_t _Plocinfo, va_list _Args); #pragma warning(pop) /*** *swprintf.inl - inline definitions for (v)swprintf * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file contains the function definitions for (v)swprintf * * [Public] * ****/ #pragma once #pragma warning( push ) #pragma warning( disable : 4793 4412 ) static __inline int swprintf(wchar_t * _String, size_t _Count, const wchar_t * _Format, ...) { va_list _Arglist; int _Ret; ( _Arglist = (va_list)( &(_Format) ) + ( (sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) ); _Ret = _vswprintf_c_l(_String, _Count, _Format, ((void *)0), _Arglist); ( _Arglist = (va_list)0 ); return _Ret; } #pragma warning( pop ) #pragma warning( push ) #pragma warning( disable : 4412 ) static __inline int __cdecl vswprintf(wchar_t * _String, size_t _Count, const wchar_t * _Format, va_list _Ap) { return _vswprintf_c_l(_String, _Count, _Format, ((void *)0), _Ap); } #pragma warning( pop ) #pragma warning( push ) #pragma warning( disable : 4793 4412 ) static __inline int _swprintf_l(wchar_t * _String, size_t _Count, const wchar_t * _Format, _locale_t _Plocinfo, ...) { va_list _Arglist; int _Ret; ( _Arglist = (va_list)( &(_Plocinfo) ) + ( (sizeof(_Plocinfo) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) ); _Ret = _vswprintf_c_l(_String, _Count, _Format, _Plocinfo, _Arglist); ( _Arglist = (va_list)0 ); return _Ret; } #pragma warning( pop ) #pragma warning( push ) #pragma warning( disable : 4412 ) static __inline int __cdecl _vswprintf_l(wchar_t * _String, size_t _Count, const wchar_t * _Format, _locale_t _Plocinfo, va_list _Ap) { return _vswprintf_c_l(_String, _Count, _Format, _Plocinfo, _Ap); } #pragma warning( pop ) wchar_t * __cdecl _wtempnam( const wchar_t * _Directory, const wchar_t * _FilePrefix); int __cdecl _vscwprintf( const wchar_t * _Format, va_list _ArgList); int __cdecl _vscwprintf_l( const wchar_t * _Format, _locale_t _Locale, va_list _ArgList); __declspec(deprecated("This function or variable may be unsafe. Consider using " "fwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl fwscanf( FILE * _File, const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _fwscanf_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl fwscanf_s( FILE * _File, const wchar_t * _Format, ...); int __cdecl _fwscanf_s_l( FILE * _File, const wchar_t * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "swscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl swscanf( const wchar_t * _Src, const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_swscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _swscanf_l( const wchar_t * _Src, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl swscanf_s( const wchar_t *_Src, const wchar_t * _Format, ...); int __cdecl _swscanf_s_l( const wchar_t * _Src, const wchar_t * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snwscanf( const wchar_t * _Src, size_t _MaxCount, const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _snwscanf_l( const wchar_t * _Src, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl _snwscanf_s( const wchar_t * _Src, size_t _MaxCount, const wchar_t * _Format, ...); int __cdecl _snwscanf_s_l( const wchar_t * _Src, size_t _MaxCount, const wchar_t * _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl wscanf( const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int __cdecl _wscanf_l( const wchar_t * _Format, _locale_t _Locale, ...); int __cdecl wscanf_s( const wchar_t * _Format, ...); int __cdecl _wscanf_s_l( const wchar_t * _Format, _locale_t _Locale, ...); FILE * __cdecl _wfdopen( int _FileHandle , const wchar_t * _Mode); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wfopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) FILE * __cdecl _wfopen( const wchar_t * _Filename, const wchar_t * _Mode); errno_t __cdecl _wfopen_s( FILE ** _File, const wchar_t * _Filename, const wchar_t * _Mode); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wfreopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) FILE * __cdecl _wfreopen( const wchar_t * _Filename, const wchar_t * _Mode, FILE * _OldFile); errno_t __cdecl _wfreopen_s( FILE ** _File, const wchar_t * _Filename, const wchar_t * _Mode, FILE * _OldFile); FILE * __cdecl _wpopen( const wchar_t *_Command, const wchar_t * _Mode); int __cdecl _wremove( const wchar_t * _Filename); errno_t __cdecl _wtmpnam_s( wchar_t * _DstBuf, size_t _SizeInWords); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wtmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _wtmpnam( wchar_t *_Buffer); wint_t __cdecl _fgetwc_nolock( FILE * _File); wint_t __cdecl _fputwc_nolock( wchar_t _Ch, FILE * _File); wint_t __cdecl _ungetwc_nolock( wint_t _Ch, FILE * _File); /* Macro definitions */ void __cdecl _lock_file( FILE * _File); void __cdecl _unlock_file( FILE * _File); int __cdecl _fclose_nolock( FILE * _File); int __cdecl _fflush_nolock( FILE * _File); size_t __cdecl _fread_nolock( void * _DstBuf, size_t _ElementSize, size_t _Count, FILE * _File); size_t __cdecl _fread_nolock_s( void * _DstBuf, size_t _DstSize, size_t _ElementSize, size_t _Count, FILE * _File); int __cdecl _fseek_nolock( FILE * _File, long _Offset, int _Origin); long __cdecl _ftell_nolock( FILE * _File); int __cdecl _fseeki64_nolock( FILE * _File, __int64 _Offset, int _Origin); __int64 __cdecl _ftelli64_nolock( FILE * _File); size_t __cdecl _fwrite_nolock( const void * _DstBuf, size_t _Size, size_t _Count, FILE * _File); int __cdecl _ungetc_nolock( int _Ch, FILE * _File); /* Non-ANSI names for compatibility */ __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_tempnam" ". See online help for details.")) char * __cdecl tempnam( const char * _Directory, const char * _FilePrefix); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fcloseall" ". See online help for details.")) int __cdecl fcloseall(void); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fdopen" ". See online help for details.")) FILE * __cdecl fdopen( int _FileHandle, const char * _Format); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fgetchar" ". See online help for details.")) int __cdecl fgetchar(void); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fileno" ". See online help for details.")) int __cdecl fileno( FILE * _File); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_flushall" ". See online help for details.")) int __cdecl flushall(void); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fputchar" ". See online help for details.")) int __cdecl fputchar( int _Ch); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_getw" ". See online help for details.")) int __cdecl getw( FILE * _File); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_putw" ". See online help for details.")) int __cdecl putw( int _Ch, FILE * _File); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_rmtmp" ". See online help for details.")) int __cdecl rmtmp(void); #pragma pack(pop) /*** *locale.h - definitions/declarations for localization routines * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file defines the structures, values, macros, and functions * used by the localization routines. * * [Public] * ****/ #pragma once /*** *crtdefs.h - definitions/declarations common to all CRT * * Copyright (c) Microsoft Corporation. All rights reserved. * *Purpose: * This file has mostly defines used by the entire CRT. * * [Public] * ****/ /* Lack of pragma once is deliberate */ /* Define _CRTIMP */ /* * Currently, all MS C compilers for Win32 platforms default to 8 byte * alignment. */ #pragma pack(push,8) /* define NULL pointer value */ /* Locale categories */ /* Locale convention structure */ struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; }; /* ANSI: char lconv members default is CHAR_MAX which is compile time dependent. Defining and using _charmax here causes CRT startup code to initialize lconv members properly */ /* function prototypes */ int __cdecl _configthreadlocale( int _Flag); char * __cdecl setlocale( int _Category, const char * _Locale); struct lconv * __cdecl localeconv(void); _locale_t __cdecl _get_current_locale(void); _locale_t __cdecl _create_locale( int _Category, const char * _Locale); void __cdecl _free_locale( _locale_t _Locale); /* use _get_current_locale, _create_locale and _free_locale, instead of these functions with double leading underscore */ __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "_get_current_locale" " instead. See online help for details.")) _locale_t __cdecl __get_current_locale(void); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "_create_locale" " instead. See online help for details.")) _locale_t __cdecl __create_locale( int _Category, const char * _Locale); __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "_free_locale" " instead. See online help for details.")) void __cdecl __free_locale( _locale_t _Locale); /* wide function prototypes, also declared in wchar.h */ wchar_t * __cdecl _wsetlocale( int _Category, const wchar_t * _Locale); #pragma pack(pop) /* Define xptrint to be an unsigned type of same size as a pointer. Assume long int and ptr to be same size but prefer use of int. */ /* Define xint32 to be an int type of 4 bytes (or more) */ /*---+--------------------------------------------------------------- Nucleus MNT (Microsoft compiler) -------------------------------------------------------------------*/ /****+*************************************************************** 04 SDL Model macro expansions ********************************************************************/ /* ------------------ Variables at system level ------------------ */ /* ----------------- Extra components in IdNodes ----------------- */ /* System, system type */ /* System, system type */ /* Package */ /* Block, Block type */ /* Block substructure */ /* Process, Process type */ /* Service, Service type */ /* Procedure */ /* Signal */ /* Signal parameter */ /* Variable, formal parameter, struct component */ /* Channel, signal route, gate */ /* State */ /* Sort, syntype */ /* Literal */ /* ---------------- Variables in the PAD function ---------------- */ /* ------------------ Structure of PAD function ------------------ */ /* --------------------- Transition functions -------------------- */ /* ------------------------ yInit function ----------------------- */ /* Variables and function used to describe the static structure of the SDL system */ /* ------------------ Actions within transitions ----------------- */ /* ---------------------------- Output --------------------------- */ /* Used if env split into channels in MSC trace */ /* ----------------------------- RPC ----------------------------- */ /* Output of pCALL signal */ /* Output of pREPLY signal */ /* ---------------------------- IMPORT --------------------------- */ /* ---------------------------- Create --------------------------- */ /* ------------------------- Static Create ------------------------ */ /* ----------------------------- Stop ---------------------------- */ /* ---------------------------- Timers --------------------------- */ /* NOTE!!! TIMER_VARS HAS TO BE IDENTICAL TO SIGNAL_VARS, EXCEPT FOR TimerTime */ /* NOTE!!! TIMER_VARS_PARA HAS TO BE IDENTICAL TO TIMER_VARS, EXCEPT FOR field Next */ /* Set without parameters */ /* Set with parameters */ /* Reset without parameters */ /* Reset with parameters */ /* Active (timer active) */ /* Now */ /* ------------------------ Procedure call ----------------------- */ /* ----------------------- Procedure return ---------------------- */ /* --------------------------- Nextstate ------------------------- */ /* ----------------------------- Join ---------------------------- */ /* --------------------------- Decision -------------------------- */ /* Informal decisions */ /* Non-deterministic decisions */ /* ----------------------------- View ---------------------------- */ /* ------------------- Execution trace and Debug ----------------- */ /* -------------------------- Simulation ------------------------- */ /****+*************************************************************** 05 Utility #ifdef ********************************************************************/ /****+*************************************************************** 06 Constants ********************************************************************/ /* max length of input line */ /****+*************************************************************** 07 Forward Declarations ********************************************************************/ typedef struct xIdStruct *xIdNode; typedef struct xBlockSubstIdStruct *xBlockSubstIdNode; typedef struct xLiteralIdStruct *xLiteralIdNode; typedef struct xPackageIdStruct *xPackageIdNode; typedef struct xSystemIdStruct *xSystemIdNode; typedef struct xChannelIdStruct *xChannelIdNode; typedef struct xBlockIdStruct *xBlockIdNode; typedef struct xPrsIdStruct *xPrsIdNode; typedef struct xSrvIdStruct *xSrvIdNode; typedef struct xPrdIdStruct *xPrdIdNode; typedef struct xRemotePrdIdStruct *xRemotePrdIdNode; typedef struct xSignalIdStruct *xSignalIdNode; typedef struct xStateIdStruct *xStateIdNode; typedef struct xSortIdStruct *xSortIdNode; typedef struct xVarIdStruct *xVarIdNode; typedef struct xRemoteVarIdStruct *xRemoteVarIdNode; typedef struct xPrsStruct *xPrsNode; typedef struct xSrvStruct *xSrvNode; typedef struct xTimerStruct *xTimerNode; typedef struct xTimerParaStruct *xTimerParaNode; typedef struct xSignalStruct *xSignalNode; /****+*************************************************************** 08 SDL predefined types (except SDL_PId) ********************************************************************/ /******************************************************************************* Copyright by Telesoft Europe AB 1990-1991. Copyright by Telelogic Malmoe AB 1991-1994. Copyright by Telelogic AB 1994 - 2003. This Program is owned by Telelogic and is protected by national copyright laws and international copyright treaties. Telelogic grants you the right to use this Program on one computer or in one local computer network at any one time. Under this License you may only modify the source code for the purpose of adapting it to your environment. You must reproduce and include any copyright and trademark notices on all copies of the source code. You may not use, copy, merge, modify or transfer the Program except as provided in this License. Telelogic does not warrant that the Program will meet your requirements or that the operation of the Program will be uninterrupted and error free. You are solely responsible that the selection of the Program and the modification of the source code will achieve your intended results and that the results are actually obtained. *******************************************************************************/ /* # $FileId: sctpred.h 85 : 2005/10/05 pon */ /* FILE INDEX 01 Macros used in assign functions 02 Type info nodes 03 SDL predefined data types 04 Generic implementation of operators 05 Utility functions 06 Write buffer management 07 Generic read and write function */ /* This file contains implementation of the predefined data types except PId. The functions defined here can be found in the file sctpred.c. */ /****+*************************************************************** 01 Macros used in assign functions ********************************************************************/ /* XASS_1_2_3 should be read: 1 = AC : always copy 1 = MR : may reuse (take pointer if temporary object) 1 = AR : always reuse (take pointer) 2 = ASS : new object assigned to "variable" 2 = TMP : new object temporary 3 = FR : call free for old value refered to by variable 3 = NF : do not call free for old value */ /****+*************************************************************** 02 Type info nodes ********************************************************************/ /* moved her as SDL_Boolean is used by generic data model */ typedef int SDL_Boolean; typedef int SDL_boolean; /* These types are used by the generic data model, but also by the SDL encoders/decoders in the old data model */ typedef enum { /*SDL - standard types*/ type_SDL_Integer=128, type_SDL_Real=129, type_SDL_Natural=130, type_SDL_Boolean=131, type_SDL_Character=132, type_SDL_Time=133, type_SDL_Duration=134, type_SDL_Pid=135, type_SDL_Charstring=136, type_SDL_Bit=137, type_SDL_Bit_string=138, type_SDL_Octet=139, type_SDL_Octet_string=140, type_SDL_IA5String=141, type_SDL_NumericString=142, type_SDL_PrintableString=143, type_SDL_VisibleString=144, type_SDL_NULL=145, type_SDL_Object_identifier=146, /* SDL - standard ctypes */ type_SDL_ShortInt=150, type_SDL_LongInt=151, type_SDL_UnsignedShortInt=152, type_SDL_UnsignedInt=153, type_SDL_UnsignedLongInt=154, type_SDL_Float=155, type_SDL_Charstar=156, type_SDL_Voidstar=157, type_SDL_Voidstarstar=158, /* SDL - user defined types */ type_SDL_Syntype=170, type_SDL_Inherits=171, type_SDL_Enum=172, type_SDL_Struct=173, type_SDL_Union=174, type_SDL_UnionC=175, type_SDL_Choice=176, type_SDL_ChoicePresent=177, type_SDL_Powerset=178, type_SDL_GPowerset=179, type_SDL_Bag=180, type_SDL_String=181, type_SDL_LString=182, type_SDL_Array=183, type_SDL_Carray=184, type_SDL_GArray=185, type_SDL_Own=186, type_SDL_Oref=187, type_SDL_Ref=188, type_SDL_Userdef=189, type_SDL_EmptyType=190, type_SDL_ComBuf=191, /* SDL - signals */ type_SDL_Signal=200, type_SDL_SignalId=201 } tSDLTypeClass; struct tSDLFuncInfo; /* ------- General type information for SDL types ------- */ typedef const struct tSDLTypeInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; } tSDLTypeInfo; /* ------------------ Enumeration type ------------------ */ typedef const struct { int LiteralValue; char *LiteralName; } tSDLEnumLiteralInfo; typedef const struct tSDLEnumInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLTypeInfo *CompOrFatherSort; int NoOfLiterals; tSDLEnumLiteralInfo *LiteralList; } tSDLEnumInfo; /* ---------- Syntype, Inherits, Own, Oref, Ref --------- */ typedef const struct tSDLGenInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLTypeInfo *CompOrFatherSort; } tSDLGenInfo; /* ---------------------- Powerset ---------------------- */ typedef const struct tSDLPowersetInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLTypeInfo *CompSort; int Length; int LowestValue; } tSDLPowersetInfo; /* ----------------------- Struct ----------------------- */ typedef int (*tGetFunc) (void *); typedef void (*tAssFunc) (void *, int); typedef const struct { unsigned OffsetPresent; /* 0 if not optional */ void *DefaultValue; } tSDLFieldOptInfo; typedef const struct { tGetFunc GetTag; tAssFunc AssTag; } tSDLFieldBitFInfo; typedef const struct { tSDLTypeInfo *CompSort; char *Name; unsigned Offset; /* ~0 for bitfield */ tSDLFieldOptInfo *ExtraInfo; } tSDLFieldInfo; typedef const struct tSDLStructInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLFieldInfo *Components; int NumOfComponents; } tSDLStructInfo; /* -------------------- Choice, Union ------------------- */ typedef const struct { tSDLTypeInfo *CompSort; char *Name; } tSDLChoiceFieldInfo; typedef const struct tSDLChoiceInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLChoiceFieldInfo *Components; int NumOfComponents; unsigned OffsetToUnion; unsigned TagSortSize; tSDLTypeInfo *TagSort; } tSDLChoiceInfo; /* ------------------- Array, CArray -------------------- */ typedef const struct tSDLArrayInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLTypeInfo *CompSort; int Length; tSDLTypeInfo *IndexSort; int LowestValue; } tSDLArrayInfo; /* ----------------------- GArray ----------------------- */ typedef const struct tSDLGArrayInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLTypeInfo *IndexSort; tSDLTypeInfo *CompSort; unsigned yrecSize; unsigned yrecIndexOffset; unsigned yrecDataOffset; unsigned arrayDataOffset; } tSDLGArrayInfo; /* ----- GPowerset, Bag, String, Object_Identifier ------ */ typedef const struct tSDLGenListInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLTypeInfo *CompSort; unsigned yrecSize; unsigned yrecDataOffset; } tSDLGenListInfo; /* ---------------------- LString ----------------------- */ typedef const struct tSDLLStringInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; tSDLTypeInfo *CompSort; int MaxLength; unsigned DataOffset; } tSDLLStringInfo; /* ---------------------- Userdef ----------------------- */ /* used for user defined types #ADT(T(h)) */ typedef const struct tSDLUserdefInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; char *Name; xIdNode FatherScope; xSortIdNode SortIdNode; } tSDLUserdefInfo; /* ----------------------- Signal ----------------------- */ typedef const struct { tSDLTypeInfo *ParaSort; unsigned Offset; } tSDLSignalParaInfo; typedef const struct tSDLSignalInfoS { tSDLTypeClass TypeClass; unsigned char OpNeeds; unsigned SortSize; struct tSDLFuncInfo *OpFuncs; tSDLSignalParaInfo *Param; int NoOfPara; } tSDLSignalInfo; typedef struct tSDLFuncInfo { void *(*AssFunc) (void *, void *, int); SDL_Boolean (*EqFunc) (void *, void *); void (*FreeFunc) (void **); char *(*WriteFunc) (void *); int (*ReadFunc) (void *); } tSDLFuncInfo; extern tSDLTypeInfo ySDL_SDL_Integer; extern tSDLTypeInfo ySDL_SDL_Real; extern tSDLTypeInfo ySDL_SDL_Natural; extern tSDLTypeInfo ySDL_SDL_Boolean; extern tSDLTypeInfo ySDL_SDL_Character; extern tSDLTypeInfo ySDL_SDL_Time; extern tSDLTypeInfo ySDL_SDL_Duration; extern tSDLTypeInfo ySDL_SDL_PId; extern tSDLTypeInfo ySDL_SDL_Charstring; extern tSDLTypeInfo ySDL_SDL_Bit; extern tSDLTypeInfo ySDL_SDL_Bit_String; extern tSDLTypeInfo ySDL_SDL_Octet; extern tSDLTypeInfo ySDL_SDL_Octet_String; extern tSDLTypeInfo ySDL_SDL_IA5String; extern tSDLTypeInfo ySDL_SDL_NumericString; extern tSDLTypeInfo ySDL_SDL_PrintableString; extern tSDLTypeInfo ySDL_SDL_VisibleString; extern tSDLTypeInfo ySDL_SDL_Null; extern tSDLGenListInfo ySDL_SDL_Object_Identifier; /* End section with type info nodes */ extern int GenericGetValue (unsigned, void *); extern void GenericSetValue (unsigned, void *, int); /****+*************************************************************** 03 SDL predefined data types ********************************************************************/ /*---+--------------------------------------------------------------- Boolean -------------------------------------------------------------------*/ /* moved first #if !defined(X_COMPACT_BOOL) typedef int SDL_Boolean; typedef int SDL_boolean; #else typedef unsigned char SDL_Boolean; typedef unsigned char SDL_boolean; #endif */ /*---+--------------------------------------------------------------- Bit -------------------------------------------------------------------*/ typedef unsigned char SDL_Bit; /*---+--------------------------------------------------------------- Real -------------------------------------------------------------------*/ /* Cmicro support for X_SHORT_REAL, use float i ctypes package */ typedef double SDL_Real; typedef double SDL_real; /* Literals as in C */ /* #include */ /* #define PLUS_INFINITY MAXDOUBLE */ /* #define MINUS_INFINITY -MAXDOUBLE */ extern SDL_Real xDiv_SDL_Real (SDL_Real, SDL_Real); /*---+--------------------------------------------------------------- Integer -------------------------------------------------------------------*/ typedef int SDL_Integer; typedef int SDL_integer; /* Literals as in C */ extern SDL_Integer xDiv_SDL_Integer (SDL_Integer, SDL_Integer); extern SDL_Integer xRem_SDL_Integer (SDL_Integer, SDL_Integer); extern SDL_Integer xMod_SDL_Integer (SDL_Integer, SDL_Integer); extern SDL_Integer xFix_SDL_Integer (SDL_Real); /*---+--------------------------------------------------------------- Natural -------------------------------------------------------------------*/ typedef int SDL_Natural; typedef int SDL_natural; extern int xTest_SDL_Natural (void *); extern SDL_Natural xTstA_SDL_Natural (SDL_Natural); extern SDL_Natural xTstI_SDL_Natural (SDL_Natural); /*---+--------------------------------------------------------------- Character -------------------------------------------------------------------*/ typedef char SDL_Character; typedef char SDL_character; /* predefined literals for non-printable characters, other literals as in C */ /*---+--------------------------------------------------------------- PId -------------------------------------------------------------------*/ /* see kernel for implementation of PId */ /*---+--------------------------------------------------------------- Null -------------------------------------------------------------------*/ typedef int SDL_Null; /*---+--------------------------------------------------------------- Charstring -------------------------------------------------------------------*/ typedef char *SDL_Charstring; typedef char *SDL_charstring; extern void xAss_SDL_Charstring (SDL_Charstring *, SDL_Charstring, int); extern SDL_Boolean xEq_SDL_Charstring (SDL_Charstring, SDL_Charstring); extern SDL_Character *yAddr_SDL_Charstring (SDL_Charstring *, SDL_Integer); extern SDL_Character xExtr_SDL_Charstring (SDL_Charstring, SDL_Integer); extern SDL_Charstring xMkString_SDL_Charstring (SDL_Character); extern SDL_Integer xLength_SDL_Charstring (SDL_Charstring); extern SDL_Character xFirst_SDL_Charstring (SDL_Charstring); extern SDL_Character xLast_SDL_Charstring (SDL_Charstring); extern SDL_Charstring xConcat_SDL_Charstring (SDL_Charstring, SDL_Charstring); extern SDL_Charstring xSubString_SDL_Charstring (SDL_Charstring,SDL_Integer,SDL_Integer); /*---+--------------------------------------------------------------- IA5String -------------------------------------------------------------------*/ typedef SDL_Charstring SDL_IA5String; extern int xTest_SDL_IA5String (void *); extern SDL_IA5String xTstA_SDL_IA5String (SDL_IA5String); extern SDL_IA5String xTstI_SDL_IA5String (SDL_IA5String); /*---+--------------------------------------------------------------- NumericString -------------------------------------------------------------------*/ typedef SDL_Charstring SDL_NumericString; extern int xTest_SDL_NumericString (void *); extern SDL_NumericString xTstA_SDL_NumericString (SDL_NumericString); extern SDL_NumericString xTstI_SDL_NumericString (SDL_NumericString); /*---+--------------------------------------------------------------- PrintableString -------------------------------------------------------------------*/ typedef SDL_Charstring SDL_PrintableString; extern int xTest_SDL_PrintableString (void *); extern SDL_PrintableString xTstA_SDL_PrintableString (SDL_PrintableString); extern SDL_PrintableString xTstI_SDL_PrintableString (SDL_PrintableString); /*---+--------------------------------------------------------------- VisibleString -------------------------------------------------------------------*/ typedef SDL_Charstring SDL_VisibleString; extern int xTest_SDL_VisibleString (void *); extern SDL_VisibleString xTstA_SDL_VisibleString (SDL_VisibleString); extern SDL_VisibleString xTstI_SDL_VisibleString (SDL_VisibleString); /*---+--------------------------------------------------------------- Octet -------------------------------------------------------------------*/ typedef unsigned char SDL_Octet; extern SDL_Bit *yAddr_SDL_Octet (SDL_Octet *, SDL_Integer); extern SDL_Bit xExtr_SDL_Octet (SDL_Octet, SDL_Integer); extern SDL_Octet xDiv_SDL_Octet (SDL_Octet, SDL_Octet); extern SDL_Octet xMod_SDL_Octet (SDL_Octet, SDL_Octet); extern SDL_Octet xRem_SDL_Octet (SDL_Octet, SDL_Octet); extern SDL_Octet xBitStr_SDL_Octet (SDL_Charstring); extern SDL_Octet xHexStr_SDL_Octet (SDL_Charstring); /*---+--------------------------------------------------------------- Duration -------------------------------------------------------------------*/ typedef struct { int s, ns; } SDL_Duration; typedef SDL_Duration SDL_duration; extern SDL_Duration SDL_Duration_Lit (int s, int ns); extern SDL_Duration xPlus_SDL_Duration (SDL_Duration, SDL_Duration); extern SDL_Duration xMonMinus_SDL_Duration (SDL_Duration); extern SDL_Duration xMult_SDL_Duration (SDL_Duration, SDL_Real); extern SDL_Duration xDiv_SDL_Duration (SDL_Duration, SDL_Real); extern SDL_Boolean xLT_SDL_Duration (SDL_Duration, SDL_Duration); extern SDL_Boolean xLE_SDL_Duration (SDL_Duration, SDL_Duration); extern SDL_Boolean xEq_SDL_Duration (SDL_Duration, SDL_Duration); /*---+--------------------------------------------------------------- Time -------------------------------------------------------------------*/ typedef SDL_Duration SDL_Time; typedef SDL_Time SDL_time; /*---+--------------------------------------------------------------- Bit_String -------------------------------------------------------------------*/ typedef struct { int Length; int IsAssigned; unsigned char * Bits; } SDL_Bit_String; extern SDL_Bit *yAddr_SDL_Bit_String (SDL_Bit_String *, SDL_Integer); extern SDL_Bit xExtr_SDL_Bit_String (SDL_Bit_String, SDL_Integer); extern SDL_Bit_String *xNot_SDL_Bit_String (SDL_Bit_String *, SDL_Bit_String *); extern SDL_Bit_String *xAnd_SDL_Bit_String (SDL_Bit_String *, SDL_Bit_String *, SDL_Bit_String *); extern SDL_Bit_String *xOr_SDL_Bit_String (SDL_Bit_String *, SDL_Bit_String *, SDL_Bit_String *); extern SDL_Bit_String *xXor_SDL_Bit_String (SDL_Bit_String *, SDL_Bit_String *, SDL_Bit_String *); extern SDL_Bit_String *xImpl_SDL_Bit_String (SDL_Bit_String *, SDL_Bit_String *, SDL_Bit_String *); extern SDL_Bit_String *xMkString_SDL_Bit_String (SDL_Bit, SDL_Bit_String *); extern SDL_Integer xLength_SDL_Bit_String (SDL_Bit_String *); extern SDL_Bit xFirst_SDL_Bit_String (SDL_Bit_String *); extern SDL_Bit xLast_SDL_Bit_String (SDL_Bit_String *); extern SDL_Bit_String *xConcat_SDL_Bit_String (SDL_Bit_String *, SDL_Bit_String *, SDL_Bit_String *); extern SDL_Bit_String *xSubString_SDL_Bit_String (SDL_Bit_String *, SDL_Integer, SDL_Integer, SDL_Bit_String *); extern SDL_Bit_String *xBitStr_SDL_Bit_String (SDL_Charstring, SDL_Bit_String *); extern SDL_Bit_String *xHexStr_SDL_Bit_String (SDL_Charstring, SDL_Bit_String *); /*---+--------------------------------------------------------------- Octet_String -------------------------------------------------------------------*/ /* An error in the implementation of Octet_String was introduced in SDT 3.2, when Octet_String was first supported. Octet_Strings should be indexed from 1, not from 0 as the SDL Suite implementation assumes. Note that Bit_Strings are indexed from 0. The inconsistancy between Octet_Strings and Bit_Strings in SDL is inherited from ASN.1. In SDT 3.6 this indexing error for Octet_Strings is corrected. To obtain the Octet_String behaviour from SDT3.2 - SDT3.5, OCTET_STRING_START_INDEX_0 should be defined, for example by uncommenting the #define below. It is not necessary to recompile the kernel for this to take effect. This change will effect the behaviour of indexing of Octet_Strings and the start parameter in operator SubString. */ /* #define OCTET_STRING_START_INDEX_0 */ typedef SDL_Bit_String SDL_Octet_String; extern SDL_Octet_String *xBitStr_SDL_Octet_String (SDL_Charstring, SDL_Octet_String *); extern SDL_Octet_String *xHexStr_SDL_Octet_String (SDL_Charstring, SDL_Octet_String *); extern SDL_Bit_String *xBit_String_SDL_Octet_String (SDL_Octet_String *, SDL_Octet_String *); extern SDL_Octet_String *xOctet_String_SDL_Octet_String (SDL_Bit_String *, SDL_Octet_String *); /*---+--------------------------------------------------------------- Object_Identifier -------------------------------------------------------------------*/ typedef struct SDL_Object_Identifier_ystruct *SDL_Object_Identifier_yptr; typedef struct SDL_Object_Identifier_ystruct { SDL_Object_Identifier_yptr Suc; SDL_Natural Data; } SDL_Object_Identifier_yrec; typedef struct { SDL_Object_Identifier_yptr First; SDL_Object_Identifier_yptr Last; int Length; int IsAssigned; } SDL_Object_Identifier; /****+*************************************************************** 04 Generic implementation of operators ********************************************************************/ /* Type used to represent Powerset. */ typedef struct { unsigned long A[1]; } xPowerset_Type; /* Types used to represent a general String and GPowerset. */ typedef struct xString_ystruct *xString_yptr; typedef struct xString_ystruct { xString_yptr Suc; int Data; } xString_yrec; typedef struct { xString_yptr First; xString_yptr Last; int Length; int IsAssigned; } xString_Type; /* Types used to represent a limited String. */ typedef struct { int Length; int Data[1]; } xLString_Type; /* Types used to represent a general Bag. */ typedef struct xBag_ystruct *xBag_yptr; typedef struct xBag_ystruct { xBag_yptr Suc; int NoOfItems; int Data; } xBag_yrec; typedef struct { xBag_yptr First; xBag_yptr Last; int Length; int IsAssigned; } xBag_Type; /* Types used to represent a general Array. */ typedef struct xGArray_ystruct *xGArray_yptr; typedef struct xGArray_ystruct { xGArray_yptr Suc; SDL_Integer Index; SDL_Integer Data; } xGArray_yrec; typedef struct { xGArray_yptr First; xGArray_yptr Last; int IsAssigned; SDL_Integer Data; } xGArray_Type; /* Types used to represent a ComBuf. */ typedef struct xComBuf_Struct * xComBuf; typedef struct xComBuf_Struct { int IsAssigned; int *el; } xComBuf_Rec; extern SDL_Boolean GenericIsAssigned (void *, tSDLTypeInfo *); extern void GenericFreeSort (void **, tSDLTypeInfo *); extern SDL_Boolean GenericEqualSort (void *, void *, tSDLTypeInfo *); extern void * GenericAssignSort (void *, void *, int, tSDLTypeInfo *); extern void * GenericMakeStruct (void *, tSDLTypeInfo *, ...); extern void * GenericMakeChoice (void *, tSDLTypeInfo *, int, void *); extern void * GenericMakeOwnRef (tSDLTypeInfo *, void *); extern void * GenericMakeArray (void *, tSDLTypeInfo *, void *); extern void GenericDefault (void *, tSDLTypeInfo *); extern void * GenericAnySort (void *, tSDLTypeInfo *); extern int GenericTstIArray (int, tSDLArrayInfo *); /* GArray */ extern void * GenGArray_Extract (xGArray_Type *, void *, tSDLGArrayInfo *); extern void * GenGArray_Modify (xGArray_Type *, void *, tSDLGArrayInfo *); /* Powerset */ extern SDL_Boolean GenPow_In (int, xPowerset_Type *, tSDLPowersetInfo *); extern void * GenPow_Incl (int, xPowerset_Type *, tSDLPowersetInfo *, xPowerset_Type *); extern void * GenPow_Del (int, xPowerset_Type *, tSDLPowersetInfo *, xPowerset_Type *); extern void GenPow_Incl2 (int, xPowerset_Type *, tSDLPowersetInfo *); extern void GenPow_Del2 (int, xPowerset_Type *, tSDLPowersetInfo *); extern SDL_Boolean GenPow_LT (xPowerset_Type *, xPowerset_Type *, tSDLPowersetInfo *); extern SDL_Boolean GenPow_LE (xPowerset_Type *, xPowerset_Type *, tSDLPowersetInfo *); extern void * GenPow_And (xPowerset_Type *, xPowerset_Type *, tSDLPowersetInfo *, xPowerset_Type *); extern void * GenPow_Or (xPowerset_Type *, xPowerset_Type *, tSDLPowersetInfo *, xPowerset_Type *); extern SDL_Integer GenPow_Length (xPowerset_Type *, tSDLPowersetInfo *); extern int GenPow_Take (xPowerset_Type *, tSDLPowersetInfo *); extern int GenPow_Take2 (xPowerset_Type *, SDL_Integer, tSDLPowersetInfo *); /* Bag, GPowerset */ extern void * GenBag_Makebag (void *, tSDLGenListInfo *, xBag_Type *); extern SDL_Boolean GenBag_In (void *, xBag_Type *, tSDLGenListInfo *); extern void * GenBag_Incl (void *, xBag_Type *, tSDLGenListInfo *, xBag_Type *); extern void * GenBag_Del (void *, xBag_Type *, tSDLGenListInfo *, xBag_Type *); extern void GenBag_Incl2 (void *, xBag_Type *, tSDLGenListInfo *); extern void GenBag_Del2 (void *, xBag_Type *, tSDLGenListInfo *); extern SDL_Boolean GenBag_LT (xBag_Type *, xBag_Type *, tSDLGenListInfo *); extern SDL_Boolean GenBag_LE (xBag_Type *, xBag_Type *, tSDLGenListInfo *); extern void * GenBag_And (xBag_Type *, xBag_Type *, tSDLGenListInfo *, xBag_Type *); extern void * GenBag_Or (xBag_Type *, xBag_Type *, tSDLGenListInfo *, xBag_Type *); extern SDL_Integer GenBag_Length (xBag_Type *, tSDLGenListInfo *); extern void * GenBag_Take (xBag_Type *, tSDLGenListInfo *, void *); extern void * GenBag_Take2 (xBag_Type *, SDL_Integer, tSDLGenListInfo *, void *); /* String */ extern void * GenString_MkString (void *, tSDLGenListInfo *, xString_Type *); extern SDL_Integer GenString_Length (xString_Type *, tSDLGenListInfo *); extern void * GenString_First (xString_Type *, tSDLGenListInfo *, void *); extern void * GenString_Last (xString_Type *, tSDLGenListInfo *, void *); extern void * GenString_Concat (xString_Type *, xString_Type *, tSDLGenListInfo *, xString_Type *); extern void * GenString_SubString (xString_Type *, SDL_Integer, SDL_Integer, tSDLGenListInfo *, xString_Type *); extern void GenString_Append (xString_Type *, void *, tSDLGenListInfo *); extern void * GenString_Extract (xString_Type *, SDL_Integer, tSDLGenListInfo *); /* LString */ extern void * GenLString_MkString (void *, tSDLLStringInfo *, xLString_Type *); extern void * GenLString_First (xLString_Type *, tSDLLStringInfo *, void *); extern void * GenLString_Last (xLString_Type *, tSDLLStringInfo *, void *); extern void * GenLString_Concat (xLString_Type *, xLString_Type *, tSDLLStringInfo *, xLString_Type *); extern void * GenLString_SubString (xLString_Type *, SDL_Integer, SDL_Integer, tSDLLStringInfo *, xLString_Type *); extern void GenLString_Append (xLString_Type *, void *, tSDLLStringInfo *); extern void * GenLString_Extract (xLString_Type *, SDL_Integer, tSDLLStringInfo *); /* Own */ extern void * GenOwn_Assign (void *, void *, int, tSDLTypeInfo*); extern void * GenOwn_Copy (void *, tSDLTypeInfo*); extern SDL_Boolean GenOwn_Equal (void *, void *, tSDLTypeInfo *); extern void * GenOwn_Pass (void **yVar); extern void * GenericPassOwn (void **, void *, tSDLTypeInfo *); /****+*************************************************************** 05 Utility functions ********************************************************************/ /*---+--------------------------------------------------------------- yInit_Predefined -------------------------------------------------------------------*/ extern void yInit_Predefined (void); /**************************************************************/ /* ALLOC TEST FUNCTIONS */ /**************************************************************/ /****+*************************************************************** 06 Write buffer management ********************************************************************/ typedef struct { unsigned all; /* Allocated length of the buffer */ unsigned len; /* Used length of the buffer */ char A[4]; /* The array. */ } WriteBufRep; typedef struct { WriteBufRep* rep; /* Representation of the buffer */ } WriteBuf; typedef int WriteBufStatus; /* * Management: * New Creates a new buffer with given initial length. * Del Deletes the buffer. Clears pointer itself. * Clear Sets the used length to 0. * Resize Resizes the buffer to have AT LEAST the given length. * The size of the buffer is never shortened! * Returns 0 on success. * Secure Resize the buffer to be able to hold another n bytes * if necessary. * Returns 0 on success. */ extern WriteBuf * WriteBuf_New (unsigned start_length); extern void WriteBuf_Del (WriteBuf** buf); extern WriteBufStatus WriteBuf_Resize (WriteBuf* buf, unsigned new_length); /* * Adding data to the buffer. * Add_Char Append a single character to the buffer. * Add_String Append a string to the buffer. If the length given * is 0 strlen() is used to determine the length. * Add_WriteBuf Append another buffer. * Add_Fmt Appends using printf format. The max_len is * the maximum length needed for the data to be added. * Uses stdarg and vsprintf(). * Terminate Append a NUL at the end of the buffer. Does not * change the length (but may change 'rep'). * All these returns 0 on success. * ADD_CHAR Macro, appends to buffer. NO CHECKS! MUST be preceeded * with a WriteBuf_Secure before use! */ extern WriteBufStatus WriteBuf_Add_Char (WriteBuf* buf, char c); extern WriteBufStatus WriteBuf_Add_String ( WriteBuf* buf, const char* s, unsigned s_len); extern WriteBufStatus WriteBuf_Add_WriteBuf (WriteBuf* buf, const WriteBuf* b); extern WriteBufStatus WriteBuf_Add_Fmt ( WriteBuf* buf, unsigned max_len, const char* fmt, ...); extern WriteBufStatus WriteBuf_Terminate (WriteBuf* buf); /* Access: * Length Returns the used length. * Allocated_Length Returns the allocated length. * Data Returns pointer to first character. */ /****+*************************************************************** 07 Generic read and write function ********************************************************************/ extern void xReleasexLoopRefWriteList(void); extern void xReleasexRefReadList(void); extern void xGenericWriteSort( WriteBuf *, void *, tSDLTypeInfo *); extern void xxWriteSort( void *, tSDLTypeInfo *); extern void xWriteBuf_Fmt (const char*, ...); extern void xAddBuf_Fmt (WriteBuf *, const char *, ...); extern int xGenericReadSort( void *, tSDLTypeInfo *); extern int xGenericReadOneParameter( tSDLTypeInfo *, char *, void * ); extern int xRead_SDL_Charstring (void *); extern int xReadSDL_Time (SDL_Time *); /* Some macro to make read/write more backward compatible */ /****+*************************************************************** Threaded ********************************************************************/ /****+*************************************************************** 09 SDL_PId ********************************************************************/ typedef struct { xPrsNode PrsP; int InstNr; int GlobalInstanceId; } xLocalPIdRec; typedef xLocalPIdRec *xLocalPIdNode; typedef struct { int GlobalNodeNr; xLocalPIdNode LocalPId; } SDL_PId; extern xPrsNode xReadProcess (char *, xPrsIdNode *, xIdNode); /****+*************************************************************** 10 Signal Set ********************************************************************/ typedef unsigned char xInputAction; /****+*************************************************************** 14 Signal ********************************************************************/ /*typedef xSignalRec *xSignalNode; See Forward Declarations.*/ typedef struct xSignalStruct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; /* Pre = 0 if in avail list. */ /* Suc is also used as pointer in avail list. */ } xSignalRec; typedef struct xInputPortStruct { xSignalNode Pre; xSignalNode Suc; int Prio; } xInputPortRec; /* HAS TO BE FIRST THREE COMPONENTS IN SIGNAL_VARS !!! */ /****+*************************************************************** 13 Timer ********************************************************************/ /*typedef xTimerRec *xTimerNode; See Forward Declarations.*/ typedef struct xTimerStruct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; SDL_Time TimerTime; } xTimerRec; typedef struct xTimerParaStruct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; SDL_Time TimerTime; xTimerParaNode Next; } xTimerParaRec; /****+*************************************************************** 11 Procedure ( = Prd ) ********************************************************************/ typedef struct xPrdStruct *xPrdNode; typedef struct xPrdStruct { xPrdIdNode NameNode; xPrdNode StaticFather; xPrdNode DynamicFather; int RestartAddress; int CallAddress; int (*RestartPRD) (xPrsNode VarP); xSignalNode pREPLY_Signal; int State; /* StaticFather = 0 if in avail list.*/ /* DynamicFather also used as pointer in avail list.*/ } xPrdRec; /****+*************************************************************** 12 Process ( = Prs ) ********************************************************************/ /*typedef struct xPrsStruct *xPrsNode; See Forward Declarations.*/ /*typedef struct xSrvStruct *xSrvNode; See Forward Declarations.*/ typedef struct xPrsStruct { xPrsNode Pre; xPrsNode Suc; int RestartAddress; xPrdNode ActivePrd; void (*RestartPAD) (xPrsNode VarP); int CallAddress; xSrvNode ActiveSrv; xSrvNode SrvList; xPrsNode NextPrs; SDL_PId Self; xPrsIdNode NameNode; int State; xSignalNode Signal; xInputPortRec InputPort; SDL_PId Parent; SDL_PId Offspring; int BlockInstNumber; xSignalIdNode pREPLY_Waited_For; xSignalNode pREPLY_Signal; SDL_PId Sender; int Trace_Default; int GRTrace; int MSCETrace; int InTransition; } xPrsRec; typedef struct xSrvStruct { xSrvNode NextSrv; xPrsNode ContainerPrs; int RestartAddress; xPrdNode ActivePrd; void (*RestartPAD) (xPrsNode VarP); int CallAddress; xSrvIdNode NameNode; int State; xSignalIdNode pREPLY_Waited_For; xSignalNode pREPLY_Signal; int InTransition; } xSrvRec; /****+*************************************************************** 15 Symbol Table ********************************************************************/ typedef enum { xRemoteVarEC, xRemotePrdEC, xSignalrouteEC, xStateEC, xTimerEC, xFormalParEC, xLiteralEC, xVariableEC, xBlocksubstEC, xPackageEC, xProcedureEC, xOperatorEC, xProcessEC, xProcessTypeEC, xGateEC, xSignalEC, xSignalParEC, xStartUpSignalEC, xRPCSignalEC, xSortEC, xSyntypeEC, xSystemEC, xSystemTypeEC, xBlockEC, xBlockTypeEC, xChannelEC, xServiceEC, xServiceTypeEC, xCompoundStmtEC, xSyntVariableEC, xMonitorCommandEC /* xExportEC */ /* xViewEC */ /* xChannelsubstEC */ /* xEnvironmentEC */ /* xConnectEC */ /* xGeneratorEC */ /* xImportedEC */ /* xLabelEC */ /* xSignallistEC */ /* xSynonymEC */ } xEntityClassType; typedef enum { xPredef, xUserdef, xEnum, xStruct, xArray, xGArray, xCArray, xRef, xOwn, xORef, xString, xLString, xPowerSet, xGPowerSet, xBag, xInherits, xSyntype, xUnion, xUnionC, xChoice } xTypeOfSort; /* KEEP xSymbolType UPDATED WITH xSymbolTypeStr AS DEFINED IN sctutil.c */ typedef enum { xsStart, xsInput, xsPriorityInput, xsContinuousSignal, xsTask, xsAssignmentStatement, xsAssignment2Statement, xsOutput, xsCreateRequest, xsDecision, xsDecisionAny, xsDecisionInformal, xsTransitionOption, xsSet, xsReset, xsExport, xsProcedureCall, xsValueReturningProcedureCall, xsRPC, xsValueReturningRPC, xsIf, xsLoop, xsLoopTest, xsLoopUpdate, xsBreak, xsContinue, xsNextstate, xsJoin, xsStop, xsReturn, xspCALLInput, xspCALLProcedureCall, xspREPLYOutput, xspCALLNextstate, xspREPLYInput, xsLabel, xsNoSuchSymbolType } xSymbolType; typedef char *xNameType; /*VIEW*/ typedef struct xViewListStruct { xPrsIdNode ViewingPrs; xSrvIdNode SrvId; unsigned Offset; } xViewListRec; typedef struct xViewIndexStruct { char *ViewName; /* var name, prefix for type */ int Index; /* index in xViewListRec */ } xViewIndexRec; typedef struct xIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; } xIdRec; /*BLOCKSUBSTRUCTURE*/ typedef struct xBlockSubstIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; } xBlockSubstIdRec; /*LITERAL*/ typedef struct xLiteralIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; int LiteralValue; } xLiteralIdRec; /*PACKAGE*/ typedef struct xPackageIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xNameType ModuleName; } xPackageIdRec; /*SYSTEM*/ typedef struct xSystemIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xIdNode * Contents; xPrdIdNode * VirtPrdList; xSystemIdNode Super; int Trace_Default; int GRTrace; int MSCETrace; } xSystemIdRec; /*CHANNEL,SIGNALROUTE*/ typedef struct xChannelIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xSignalIdNode *SignalSet; /*Array*/ xIdNode *ToId; /*Array*/ xChannelIdNode Reverse; } xChannelIdRec; /* And xSignalRouteEC.*/ /*BLOCK*/ typedef struct xBlockIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xBlockIdNode Super; xIdNode * Contents; xPrdIdNode * VirtPrdList; xViewListRec * ViewList; xViewIndexRec * ViewIndex; int NumberOfInst; int Trace_Default; int GRTrace; int MSCETrace; int GlobalInstanceId; } xBlockIdRec; /*PROCESS*/ typedef struct xPrsIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xStateIdNode *StateList; xSignalIdNode *SignalSet; /*Used as an array of xIdNode.*/ xIdNode *Contents; xIdNode *ToId; /*Array*/ int MaxNoOfInst; int NextNr; int NoOfStaticInst; xPrsNode *ActivePrsList; unsigned VarSize; int Prio; xPrsNode *AvailPrsList; int Trace_Default; int GRTrace; char *(*GRrefFunc) (int, xSymbolType *); int MaxSymbolNumber; int SignalSetLength; int MSCETrace; long int *CoverageArray; long int NoOfStartTransitions; long int MaxQueueLength; void (*PAD_Function) (xPrsNode); void (*Free_Vars) (void *); xPrsIdNode Super; xPrdIdNode * VirtPrdList; xBlockIdNode InBlockInst; char * RefToDefinition; } xPrsIdRec; /*SERVICE*/ typedef struct xSrvIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xStateIdNode *StateList; xSignalIdNode *SignalSet; /*Used as an array of xIdNode.*/ xIdNode *ToId; /*Array*/ unsigned VarSize; char *(*GRrefFunc) (int, xSymbolType *); int MaxSymbolNumber; int SignalSetLength; long int *CoverageArray; long int NoOfStartTransitions; xSrvNode *AvailSrvList; void (*PAD_Function) (xPrsNode); void (*Free_Vars) (void *); xSrvIdNode Super; xPrdIdNode * VirtPrdList; } xSrvIdRec; /*PROCEDURE*/ typedef struct xPrdIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xStateIdNode *StateList; xSignalIdNode *SignalSet; /*Used as an array of xIdNode.*/ int (*Assoc_Function) (xPrsNode); void (*Free_Vars) (void *); unsigned VarSize; xPrdNode *AvailPrdList; char *(*GRrefFunc) (int, xSymbolType *); int MaxSymbolNumber; int SignalSetLength; long int *CoverageArray; xPrdIdNode Super; xPrdIdNode * VirtPrdList; } xPrdIdRec; /*REMOTE PROCEDURE*/ typedef struct xRemotePrdListStruct *xRemotePrdListNode; typedef struct xRemotePrdListStruct { xRemotePrdListNode Next; xPrsIdNode ExportedPrs; } xRemotePrdListRec; typedef struct xRemotePrdIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xRemotePrdListNode RemoteList; } xRemotePrdIdRec; /* SIGNAL, TIMER */ typedef struct xSignalIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; unsigned VarSize; xSignalNode *AvailSignalList; int (*Equal_Timer) (void *, void *); void (*Free_Signal) (void *); char *RefToDefinition; unsigned Offset; /* Offset of timer var in xPrsStruct */ } xSignalIdRec; /* And xTimerEC, xStartUpSignalEC, and xRPCSignalEC.*/ /*STATE*/ typedef struct xStateIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; int StateNumber; xInputAction *SignalHandlArray; /*Used as an array of xInputAction.*/ int *InputRef; xInputAction (*EnablCond_Function) (xSignalIdNode, void *); void (*ContSig_Function) (void *, int *, xIdNode *, int *); int StateProperties; long int *CoverageArray; xStateIdNode Super; char *RefToDefinition; } xStateIdRec; /*SORT*/ typedef struct xSortIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; void (*zzFree_Function) (void **); int (*Test_Function) (void *); unsigned zzSortSize; xTypeOfSort zzSortType; xSortIdNode zzCompOrFatherSort; xSortIdNode zzIndexSort; long int zzLowestValue; /* xSyntype with one closed range : lowest value */ /* xGArray,xString,xGPowerset,xBag : offset of Data in type_yrec */ /* xLString : offset of Data in type */ /* otherwise : 0 */ long int zzHighestValue; /* xSyntype with one closed range : highest value */ /* xGArray,xString,xGPowerset,xBag : sizeof type_yrec */ /* xCArray,xLString : number of elements */ /* SDL_Character : 255 */ /* SDL_Boolean : 1 */ /* otherwise : 0 */ long int zzyrecIndexOffset; /* xGArray : offset of Index in type_yrec */ /* otherwise : 0 */ long int zztypeDataOffset; /* xGArray : offset of Data in type (default value) */ /* otherwise : 0 */ tSDLTypeInfo *TypeInfo; } xSortIdRec; /*VARIABLE,...*/ typedef struct xVarIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; xSortIdNode zzSortNode; tSDLTypeInfo *TypeNode; unsigned Offset; unsigned Offset2; /* Offset in startupsignal. Used for process fpar */ /* or: Offset for exported value. For process dcl */ int IsAddress; /* Used if procedure/operator fpar: */ /* first bit = is address */ /* second-third bit IN(=0) - IN/OUT(=2) - OUT(=4) */ } xVarIdRec; /* And xFormalParEC and xSignalParEC.*/ /*REMOTE VAR*/ typedef struct xRemoteVarListStruct *xRemoteVarListNode; typedef struct xRemoteVarListStruct { xRemoteVarListNode Next; xPrsIdNode ExportingPrs; xSrvIdNode SrvId; unsigned Offset; } xRemoteVarListRec; typedef struct xRemoteVarIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; unsigned SortSize; xRemoteVarListNode RemoteList; } xRemoteVarIdRec; /*MONITORCOMMAND*/ typedef struct xMonitorCommandIdStruct *xMonitorCommandIdNode; typedef struct xMonitorCommandIdStruct { xEntityClassType EC; xIdNode First; xIdNode Suc; xIdNode Parent; xNameType Name; int CommandNo; } xMonitorCommandIdRec; typedef struct { int PMConnected; int MyPID; int StartedFromPostmaster; int ITEXCommStarted; int TimeManager; int CommStarted; int UIStarted; int SimulatorUIStarted; int MSCEStarted; int MSCDiagram; } xNoticeBoardType; typedef struct xInteractionLogStruct { int Active; char Filename[256]; FILE *File; } xInteractionLogRec; typedef struct xCommandFileStruct *xCommandFileNode; typedef struct xCommandFileStruct { FILE *File; char *A[99]; xCommandFileNode Next; } xCommandFileRec; typedef struct xAtBreakpointStruct *xAtBreakpointNode; typedef struct xAtBreakpointStruct { char *GRReference; xIdNode PrsIdNode; long int SymbolNumber; char *Command; xAtBreakpointNode Next; } xAtBreakpointRec; typedef struct xVariableBreakpointStruct *xVariableBreakpointNode; typedef struct xVariableBreakpointStruct { xPrsNode Process; xPrdNode Procedure; xSrvNode Service; xPrdIdNode PrdId; int PrdInstance; SDL_PId PId; xVarIdNode VarId; WriteBuf *CurrentValue; char *Command; xVariableBreakpointNode Next; } xVariableBreakpointRec; typedef struct xBreakpointStruct *xBreakpointNode; typedef struct xBreakpointStruct { xPrsIdNode ProcId; int InstNr; xSrvIdNode SrvId; xStateIdNode StateId; xSignalIdNode SignalId; xPrsIdNode SenderId; int SenderInstNr; int Counter; int SetToCounter; int Remove; char *Command; xBreakpointNode Next; } xBreakpointRec; typedef struct xBreakpointOutputStruct *xBreakpointOutputNode; typedef struct xBreakpointOutputStruct { xSignalIdNode SignalId; xPrsIdNode ReceiverId; int ReceiverInstNr; xPrsIdNode SenderId; int SenderInstNr; int Counter; int SetToCounter; int Remove; char *Command; xBreakpointOutputNode Next; } xBreakpointOutputRec; typedef struct xSignalLogStruct *xSignalLogNode; typedef struct xSignalLogStruct { xIdNode UnitId; /* *** Either no signal or a list of signals *** xIdNode SignalId; *** *** */ xPrsNode PrsNode; char Filename[256]; FILE *File; xSignalLogNode Next; } xSignalLogRec; typedef struct { char Filename[256]; FILE *File; } MSCLogRec; /****+*************************************************************** 16 Global Data Structure ********************************************************************/ extern struct xPackageIdStruct yPacR_Predefined; extern struct xSortIdStruct xSrtR_SDL_Boolean; extern struct xSortIdStruct xSrtR_SDL_Bit; extern struct xSortIdStruct xSrtR_SDL_Bit_String; extern struct xSortIdStruct xSrtR_SDL_Octet; extern struct xSortIdStruct xSrtR_SDL_Octet_String; extern struct xSortIdStruct xSrtR_SDL_Character; extern struct xSortIdStruct xSrtR_SDL_Charstring; extern struct xSortIdStruct xSrtR_SDL_IA5String; extern struct xSortIdStruct xSrtR_SDL_NumericString; extern struct xSortIdStruct xSrtR_SDL_PrintableString; extern struct xSortIdStruct xSrtR_SDL_VisibleString; extern struct xSortIdStruct xSrtR_SDL_Duration; extern struct xSortIdStruct xSrtR_SDL_Integer; extern struct xSortIdStruct xSrtR_SDL_Natural; extern struct xSortIdStruct xSrtR_SDL_Null; extern struct xSortIdStruct xSrtR_SDL_Object_Identifier; extern struct xSortIdStruct xSrtR_SDL_PId; extern struct xSortIdStruct xSrtR_SDL_Real; extern struct xSortIdStruct xSrtR_SDL_Time; extern struct xIdStruct xSymbolTableIdRec; extern struct xPrsIdStruct yEnvR_env; extern xIdNode yEnvO_env[]; extern struct xStateIdStruct xStartStateIdRec; extern struct xSignalIdStruct xContSigIdRec; extern struct xStateIdStruct xRPCWaitStateIdRec; extern struct xSignalIdStruct xNoneSigIdRec; extern struct xPrsIdStruct xNullIdRec; typedef struct _xSystemData { xPrsNode xReadyQueue; xSignalNode xTimerQueue; xPrsNode xCheckList; SDL_Time xSystemTime; xStateIdNode xErrorStateId; char *xCFileName; long int xCLineNo; int xBetweenTrans; char *xCurrentSymbolRef; char *xPreviousSymbolRef; xNoticeBoardType xNoticeBoard; int xRaW_use_Global_PId; int xUse_Itex_Syntax; int xCurrentSymbolNumber; char *xTranslatorVersion_Var; /* from generated code */ int xMonitorCreate; int xMonitorOutput; int xDynamicError; int xDoLoopForInput; int xSavingState; int xRestoringState; xPrsNode xPrsScope; xPrdNode xPrdScope; xSrvNode xSrvScope; char *SystemName; char xInputLineVar[10000]; char *xInputLine; char *xInputPos_Var; char *xSaveLine; char *xSavePos_Var; int xUse_ASN1_Syntax; int xUse_NewRef_Syntax; int xUse_DeRef_Syntax; int xValue_Syntax; int xShowDefault; int xIntegerOutputMode; char xPrintIntFormat[10]; char xScanIntFormat[10]; int Trace_Default; int xSilent; int GRTrace; int xNoTraceOn; int MSCETrace; int xSilentMSCE; /* Set when calling SDL_Output in SDL_Create or SDL_OutputTimerSignal to prevent extra MSC-trace */ xInteractionLogRec InteractionLog; xInteractionLogRec CommandLog; xCommandFileNode CommandFile; int WriteSortLevel; /* used by xWriteSort */ FILE *ExtSynFile; int First_Call; /* to xReadSynonym */ char ExtSynFileName[256]; /* Local data in sctmon.c */ int Interrupted; int xProceedUntil; int xGoForever; int StopInMonitor; int StoppedInMonitor; int StepSymbol; int StepStatement; int NextSymbol; int NextStatement; int Finish; int NextLevel; int xStepToVisible; int WelcomeMessagePrinted; SDL_Time NowInMonitor; xIdNode xCommandTable; SDL_Time xNextMonTimeVar; int xDoCheckForInput; xVariableBreakpointNode VariableBreakpoints; xAtBreakpointNode AtBreakpoints; xBreakpointNode TransitionBreakpoints; xBreakpointOutputNode OutputBreakpoints; xSignalLogNode SignalLogList; FILE *xCoverageFile; /* XMONITOR */ MSCLogRec MSCLog; int MSCLogStarted; /* =1 MSC-Log started. xSysD.xNoticeBoard.MSCEStarted = 0 means Batch otherwise Interactive */ int GlobalProcessInstanceId; int GlobalSignalInstanceId; int GlobalSignalInstanceIdWhenStart; /* Value of GlobalSignalInstanceId when MSC Trace started, used to find signal sent before MSC Trace started. (NOTE! The signals may have been sent in a previous MSC Trace) */ int VoidProcessInstanceId; /* Void process instance is used to represent all process instances not being traced */ int DoingReset; /* used by xMSCEReset */ int MSCSymbolLevel; /* XMSCE */ char SESIMUICOMStr[10000]; int SESIMUICOMFlag; /* =1 means SESIMUICOMStr contains input */ int SESIMUICOMInput; long int SystemTransNo, SystemSymbNo; } xSystemData; /****+*************************************************************** In generated code ********************************************************************/ extern void yInit (void); /****+*************************************************************** C++ specific declarations ********************************************************************/ /****+*************************************************************** 17 sctos ********************************************************************/ extern void * xAlloc (unsigned); extern void * xReAlloc (void **,unsigned); extern void xFree (void **); extern void xHalt (void); extern int xGlobalNodeNumber (void); extern int xCheckForKeyboardInput (long); extern char *xGetWorkdir (char **d); extern char *xSetWorkdir (char *d); /****+*************************************************************** 18 sctenv ********************************************************************/ /* XENV */ /****+*************************************************************** 19 sctsdl ********************************************************************/ extern xSystemData xSysD; extern xSignalNode xAvailSignal; extern xSignalNode xAvailTimer; extern SDL_Integer xMax_SDL_Integer; extern SDL_Time xMaxTime; extern SDL_PId xEnv; extern xPrsIdNode xEnvId; extern SDL_PId SDL_NULL; extern SDL_PId xNotDefPId; extern void xSDLOutputError (int, xSignalNode, int); extern void xSDLOpError (char *, char *); extern void xErrorSubrange (tSDLTypeInfo *, void *); extern void xErrorIndex (tSDLTypeInfo *, void *); extern void xErrorDecision (tSDLTypeInfo *, void *); extern void * SDL_Error (int); extern void xAssertError (char *); extern void xUnionTagError (char *, void *, tSDLTypeInfo *, int); extern void xOptionalError (char *); extern void xCoderError (char *, char *); extern void xChoiceError (char *, void *, tSDLTypeInfo *); extern void xRefError (void *, tSDLGenInfo *); extern int xInOwnList (void *); extern void xInsertOwnList (void *, tSDLTypeInfo *); extern void xRemoveOwnList (void *); extern void xSetUpOwner (void **, int); extern void xCheckRefOwn (void *); extern void xCheckForOwnLoops (void); extern void xInsertIdNode (xIdNode); extern SDL_PId xGetPId (xPrsIdNode, SDL_PId); extern void xReleasePId (SDL_PId *); extern xSrvNode xGetService (xSrvIdNode, xPrsNode); extern void xReleaseService (xSrvNode *); extern xSignalNode xGetSignal (xSignalIdNode, SDL_PId, SDL_PId); extern void xReleaseSignal (xSignalNode *); extern void xReleaseSignalNotPara (xSignalNode *); extern xPrdNode xGetPrd (xPrdIdNode); extern void xReleasePrd (xPrsNode); extern void xInsertExportedVar (xRemoteVarListNode, xRemoteVarIdNode); extern void xInsertExportedPrd (xRemotePrdListNode, xRemotePrdIdNode); extern int xInList (xSignalIdNode, xSignalIdNode *); extern void xAddPrdCall (xPrdNode, xPrsNode, int, int); extern xIdNode xContentsInstNode (xIdNode, xIdNode); extern xPrsIdNode xPrsInst(xIdNode, xIdNode, int); extern int xIsPath (xSignalIdNode, xIdNode, xPrsIdNode, xIdNode *, xIdNode [], int *); extern SDL_PId xFindReceiver (xSignalIdNode, SDL_PId, xIdNode *, int *, xIdNode *, int *); extern void xRemoveFromQueue (void *); extern void SDL_Output (xSignalNode , xIdNode []); extern void SDL_Create (xSignalNode, xPrsIdNode, int); extern void SDL_Stop (xPrsNode); extern void SDL_Set (SDL_Time, xSignalNode, xSignalNode *); extern void SDL_SimpleSet (SDL_Time, xSignalNode *, xSignalIdNode, xPrsNode); extern void SDL_Reset (xSignalNode *, xSignalNode *); extern void SDL_SimpleReset (xSignalNode *, xSignalIdNode); extern void xRemoveFromTimerList(xSignalNode, xSignalNode *); extern void SDL_NextState (xPrsNode, int); extern void SDL_RPC_WaitState (xPrsNode, int, xSignalIdNode); extern SDL_Time SDL_Now (void); extern void * xGetExportAddr (xRemoteVarIdNode, SDL_PId, int, xPrsNode); extern SDL_PId xGetExportingPrs (xRemotePrdIdNode, xPrsNode); extern void * SDL_View (xViewListRec *, SDL_PId, int, xPrsNode, char *, int); extern int SDL_View_Index (xPrsNode, char *); extern void SDL_Halt (void); extern SDL_Boolean xEq_SDL_PId (SDL_PId, SDL_PId); extern SDL_Boolean xEq_SDL_PId_NULL (SDL_PId A); extern void xStart_Services (xPrsNode); extern void xSysDInit (int, char * [], xSystemData*); extern void xMainInit (int, char * []); extern void xMainLoop (void); extern void xAddToEnv (xChannelIdNode); /****+*************************************************************** 20 sctpost ********************************************************************/ extern xSignalIdNode xEnvFindSignalId (char *); extern xIdNode xEnvFindChannelId (char *); /****+*************************************************************** 21 sctutil ********************************************************************/ typedef enum { xxId, xxString, xxASN1String, xxSlash, xxColon, xxMinus, xxPlus, xxStar, xxComma, xxSemicolon, xxArrowHead, xxLPar, xxRPar, xxLParDot, xxRParDot, xxLParColon, xxRParColon, xxDot, xxLBracket, xxRBracket, xxLCurlyBracket, xxRCurlyBracket, xxAt, xxQuaStart, xxQuaEnd, xxLT, xxLE, xxGT, xxGE, xxEQ, xxNE, xxQuestionMark, xx2QuestionMark, xxExclMark, xxRArrow, xxStarArrow, xxSystem, xxPackage, xxBlock, xxProcess, xxService, xxProcedure, xxOperator, xxSubstructure, xxChannel, xxSignalroute, xxType, xxNull, xxEnv, xxSelf, xxParent, xxOffspring, xxSender, xxEoln, xxEOF, xxErrorToken } xxToken; extern int xNextInputChar (void); extern xxToken xScanToken (char *); extern void xUngetToken (xxToken, char *); extern void xSkipLine (void); extern int xScanS (char *); extern void xReadSynonym (void *, tSDLTypeInfo *, char *); extern xxToken xPromptQuestionMark (char *, char *, char *); extern xIdNode xGetIdNodeInECSet (char *, long, xIdNode, int *, int, xIdNode); extern xIdNode xReadIdNodeInECSet (xxToken, char *, long, xIdNode, xIdNode); extern int xfEqualIdString (char *, char *); extern int lenNL(void **); extern void addNL(void ***, void *); extern int indexNL(void **, void *); extern void releaseNL(void ***); extern char * xWriteSort (void *, xSortIdNode); extern void xWriteOpParameter (char *, void *, tSDLTypeInfo *); extern int xReadOperator (void *, tSDLTypeInfo *); extern void xGetQualifier (WriteBuf *, xIdNode, int); extern int xNeedsQualifier (xIdNode); extern void xMSCEProcedureReturn (xPrsNode, xPrdNode ); extern void xMSCEDecision (xPrsNode, void *, tSDLTypeInfo *); extern void xMSCETask (xPrsNode, char *); extern void xMSCEAssign (xPrsNode, char *, void *, tSDLTypeInfo *); extern void xMSCEConstructor (SDL_PId, char *, char *); extern void xMSCEDestructor (SDL_PId, char *); extern void xMSCEMethodCall (SDL_PId, char *, char *); /* XMSCE */ /* XREADANDWRITEF */ /****+*************************************************************** 22 sctmon ********************************************************************/ extern void xInitReadAndWrite (void); extern void xPrintString (char * Str); extern int xRead_SDL_PId (void *); extern char * xWri_SDL_PId (void *); extern void xInformalDecision (char *); extern void xInformalPath (int, char *, int, int [], char *[]); extern void xAnyDecision (void); extern void xAnyPath (int, int, int []); extern void xReadPath (SDL_Integer *, int, int [], char * [], int); /* XREADANDWRITEF */ typedef enum { xtOutput, xtOutputDiscard, xtOutputPara, xtTask, xtTaskValue, xtDecision, xtProcedureStart, xtProcedureReturn, xtProcedurePara, xtCreate, xtCreatePara, xtSet, xtSetChangeTime, xtSetPara, xtSetImplicitReset, xtReset, xtResetAction, xtResetPara, xtTimerOutput, xtTimerOutputDiscard, xtTimerOutputPara, xtNextstate, xtNextstateDiscard, xtNextstateDiscardPara, xtStop, xtStopDiscard, xtStopDiscardPara, xtStopTimerDiscard, xtStopTimerDiscardPara, xtTransition, xtTransitionPara, xtExport, xtVisibleStep, xtOne, xtTwo, xtThree, xtFour, xtFive, xtSix, xtSeven, xtEight, xtNine, xtTen } xTraceType; extern int xShouldBeTraced (xTraceType, xPrsNode); extern void xTraceTask (char *); extern void xTraceAlg (char *); extern void xTraceAlgValue (char *, void *, tSDLTypeInfo *); extern void xTraceAssign (char *, void *, tSDLTypeInfo *); extern void xTraceDecision (void *, tSDLTypeInfo *); extern void xTraceNotImplCreate (char * S); extern void xTraceNotImplProcedure (char * S); extern void xTraceProcedureReturn (xPrdNode); extern void xTraceExport (char *); /* XTRACE */ extern void xSetupGRCov (xPrsNode, int); extern int xBreakBefore (xPrsNode, char *, long int, int, int); extern void xGRSetSymbol (int); extern int xRefAddress(WriteBuf *, void *, xIdNode); extern void *xGetRefAddress(char *); /****+*************************************************************** 23 THREADED integration The following section contains macros and defines used in the THREADED API ********************************************************************/ /* X_SCTTYPES_H */ xSystemData xSysD; static char xFileName[] = "H:\\SEG2106\\AlarmClock\\AlarmClock.c"; /************************************************************************* ** SECTION Types and Forward references ** *************************************************************************/ /***** * SYSTEM AlarmClock * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy,4,1,8) ******/ extern struct xSystemIdStruct ySysR_z_AlarmClock; /***** * BLOCK AlarmClockBlock * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk,4,1,7) ******/ extern struct xBlockIdStruct yBloR_z0_AlarmClockBlock; /***** * PROCESS TimeUpdater * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr,4,1,9) ******/ extern xSignalIdNode yPrsS_z03_TimeUpdater[]; extern xStateIdNode yPrsT_z03_TimeUpdater[]; extern struct xPrsIdStruct yPrsR_z03_TimeUpdater; extern long int yPrsC_z03_TimeUpdater[]; extern void yPAD_z03_TimeUpdater (xPrsNode); extern struct xSignalIdStruct ySigR_z03_TimeUpdater; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; } yPDef_z03_TimeUpdater; typedef yPDef_z03_TimeUpdater *yPDP_z03_TimeUpdater; extern xIdNode yPrsO_z03_TimeUpdater[]; extern char * yRef_z03_TimeUpdater (int, xSymbolType *); typedef struct { xPrsNode Pre; xPrsNode Suc; int RestartAddress; xPrdNode ActivePrd; void (*RestartPAD) (xPrsNode VarP); int CallAddress; xSrvNode ActiveSrv; xSrvNode SrvList; xPrsNode NextPrs; SDL_PId Self; xPrsIdNode NameNode; int State; xSignalNode Signal; xInputPortRec InputPort; SDL_PId Parent; SDL_PId Offspring; int BlockInstNumber; xSignalIdNode pREPLY_Waited_For; xSignalNode pREPLY_Signal; SDL_PId Sender; int Trace_Default; int GRTrace; int MSCETrace; int InTransition; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),3,1) */ SDL_Integer z036_Hour; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),4,1) */ SDL_Integer z037_Minute; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),5,1) */ SDL_Duration z038_Delay; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),1,7) */ xSignalNode yTim_waitMinuteTimer; } yVDef_z03_TimeUpdater; typedef yVDef_z03_TimeUpdater *yVDP_z03_TimeUpdater; extern void yFree_z03_TimeUpdater (void *); /***** * STATE WaitForTimeUpdate * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),134(50,95),1,1) ******/ extern struct xStateIdStruct yStaR_z034_WaitForTimeUpdate; /***** * TIMER waitMinuteTimer * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),1,7) ******/ extern struct xSignalIdStruct ySigR_z035_waitMinuteTimer; /***** * DCL Hour * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),3,1) ******/ extern struct xVarIdStruct yVarR_z036_Hour; /***** * DCL Minute * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),4,1) ******/ extern struct xVarIdStruct yVarR_z037_Minute; /***** * DCL Delay * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),5,1) ******/ extern struct xVarIdStruct yVarR_z038_Delay; /***** * PROCESS InputMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr,4,1,9) ******/ extern xSignalIdNode yPrsS_z04_InputMan[]; extern xStateIdNode yPrsT_z04_InputMan[]; extern struct xPrsIdStruct yPrsR_z04_InputMan; extern long int yPrsC_z04_InputMan[]; extern void yPAD_z04_InputMan (xPrsNode); extern struct xSignalIdStruct ySigR_z04_InputMan; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; } yPDef_z04_InputMan; typedef yPDef_z04_InputMan *yPDP_z04_InputMan; extern xIdNode yPrsO_z04_InputMan[]; extern char * yRef_z04_InputMan (int, xSymbolType *); typedef struct { xPrsNode Pre; xPrsNode Suc; int RestartAddress; xPrdNode ActivePrd; void (*RestartPAD) (xPrsNode VarP); int CallAddress; xSrvNode ActiveSrv; xSrvNode SrvList; xPrsNode NextPrs; SDL_PId Self; xPrsIdNode NameNode; int State; xSignalNode Signal; xInputPortRec InputPort; SDL_PId Parent; SDL_PId Offspring; int BlockInstNumber; xSignalIdNode pREPLY_Waited_For; xSignalNode pREPLY_Signal; SDL_PId Sender; int Trace_Default; int GRTrace; int MSCETrace; int InTransition; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),341(80,10),2,1) */ SDL_Integer z044_TransferMe; } yVDef_z04_InputMan; typedef yVDef_z04_InputMan *yVDP_z04_InputMan; extern void yFree_z04_InputMan (void *); /***** * STATE InputIdle * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),119(30,50),1,1) ******/ extern struct xStateIdStruct yStaR_z043_InputIdle; /***** * DCL TransferMe * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),341(80,10),2,1) ******/ extern struct xVarIdStruct yVarR_z044_TransferMe; /***** * PROCESS AlarmMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr,4,1,9) ******/ extern xSignalIdNode yPrsS_z05_AlarmMan[]; extern xStateIdNode yPrsT_z05_AlarmMan[]; extern struct xPrsIdStruct yPrsR_z05_AlarmMan; extern long int yPrsC_z05_AlarmMan[]; extern void yPAD_z05_AlarmMan (xPrsNode); extern struct xSignalIdStruct ySigR_z05_AlarmMan; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; } yPDef_z05_AlarmMan; typedef yPDef_z05_AlarmMan *yPDP_z05_AlarmMan; extern xIdNode yPrsO_z05_AlarmMan[]; extern char * yRef_z05_AlarmMan (int, xSymbolType *); typedef struct { xPrsNode Pre; xPrsNode Suc; int RestartAddress; xPrdNode ActivePrd; void (*RestartPAD) (xPrsNode VarP); int CallAddress; xSrvNode ActiveSrv; xSrvNode SrvList; xPrsNode NextPrs; SDL_PId Self; xPrsIdNode NameNode; int State; xSignalNode Signal; xInputPortRec InputPort; SDL_PId Parent; SDL_PId Offspring; int BlockInstNumber; xSignalIdNode pREPLY_Waited_For; xSignalNode pREPLY_Signal; SDL_PId Sender; int Trace_Default; int GRTrace; int MSCETrace; int InTransition; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),2,1) */ SDL_Integer z054_InputMinute; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),3,1) */ SDL_Integer z055_InputHour; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),4,1) */ SDL_Integer z056_AlarmMinute; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),5,1) */ SDL_Integer z057_AlarmHour; } yVDef_z05_AlarmMan; typedef yVDef_z05_AlarmMan *yVDP_z05_AlarmMan; extern void yFree_z05_AlarmMan (void *); /***** * STATE AlarmIdle * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),122(45,65),1,1) ******/ extern struct xStateIdStruct yStaR_z053_AlarmIdle; /***** * DCL InputMinute * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),2,1) ******/ extern struct xVarIdStruct yVarR_z054_InputMinute; /***** * DCL InputHour * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),3,1) ******/ extern struct xVarIdStruct yVarR_z055_InputHour; /***** * DCL AlarmMinute * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),4,1) ******/ extern struct xVarIdStruct yVarR_z056_AlarmMinute; /***** * DCL AlarmHour * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),5,1) ******/ extern struct xVarIdStruct yVarR_z057_AlarmHour; /***** * PROCESS ActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr,4,1,9) ******/ extern xSignalIdNode yPrsS_z06_ActualAlarm[]; extern xStateIdNode yPrsT_z06_ActualAlarm[]; extern struct xPrsIdStruct yPrsR_z06_ActualAlarm; extern long int yPrsC_z06_ActualAlarm[]; extern void yPAD_z06_ActualAlarm (xPrsNode); extern struct xSignalIdStruct ySigR_z06_ActualAlarm; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; } yPDef_z06_ActualAlarm; typedef yPDef_z06_ActualAlarm *yPDP_z06_ActualAlarm; extern xIdNode yPrsO_z06_ActualAlarm[]; extern char * yRef_z06_ActualAlarm (int, xSymbolType *); typedef struct { xPrsNode Pre; xPrsNode Suc; int RestartAddress; xPrdNode ActivePrd; void (*RestartPAD) (xPrsNode VarP); int CallAddress; xSrvNode ActiveSrv; xSrvNode SrvList; xPrsNode NextPrs; SDL_PId Self; xPrsIdNode NameNode; int State; xSignalNode Signal; xInputPortRec InputPort; SDL_PId Parent; SDL_PId Offspring; int BlockInstNumber; xSignalIdNode pREPLY_Waited_For; xSignalNode pREPLY_Signal; SDL_PId Sender; int Trace_Default; int GRTrace; int MSCETrace; int InTransition; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),3,1) */ SDL_Boolean z06B_ActivateAlarm; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),4,1) */ SDL_Boolean z06C_ActivateSnooze; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),5,1) */ SDL_Boolean z06D_AlarmTypeRadio; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),6,1) */ SDL_Boolean z06E_AlarmTypeBuzzer; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),7,1) */ SDL_Boolean z06F_AlarmTypeOff; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),8,1) */ SDL_Boolean z06G_RadioIsOn; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),9,1) */ SDL_Boolean z06H_BuzzerIsOn; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),10,1) */ SDL_Duration z06I_SnoozeDelay; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),12,1) */ SDL_Integer z06J_TestVol; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),13,1) */ SDL_Integer z06K_BuzzerVolume; /* #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),1,7) */ xSignalNode yTim_SNOOZETimer; } yVDef_z06_ActualAlarm; typedef yVDef_z06_ActualAlarm *yVDP_z06_ActualAlarm; extern void yFree_z06_ActualAlarm (void *); /***** * STATE ActualAlarmIdle * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),131(60,70),1,1) ******/ extern struct xStateIdStruct yStaR_z069_ActualAlarmIdle; /***** * TIMER SNOOZETimer * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),1,7) ******/ extern struct xSignalIdStruct ySigR_z06A_SNOOZETimer; /***** * DCL ActivateAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),3,1) ******/ extern struct xVarIdStruct yVarR_z06B_ActivateAlarm; /***** * DCL ActivateSnooze * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),4,1) ******/ extern struct xVarIdStruct yVarR_z06C_ActivateSnooze; /***** * DCL AlarmTypeRadio * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),5,1) ******/ extern struct xVarIdStruct yVarR_z06D_AlarmTypeRadio; /***** * DCL AlarmTypeBuzzer * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),6,1) ******/ extern struct xVarIdStruct yVarR_z06E_AlarmTypeBuzzer; /***** * DCL AlarmTypeOff * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),7,1) ******/ extern struct xVarIdStruct yVarR_z06F_AlarmTypeOff; /***** * DCL RadioIsOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),8,1) ******/ extern struct xVarIdStruct yVarR_z06G_RadioIsOn; /***** * DCL BuzzerIsOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),9,1) ******/ extern struct xVarIdStruct yVarR_z06H_BuzzerIsOn; /***** * DCL SnoozeDelay * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),10,1) ******/ extern struct xVarIdStruct yVarR_z06I_SnoozeDelay; /***** * DCL TestVol * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),12,1) ******/ extern struct xVarIdStruct yVarR_z06J_TestVol; /***** * DCL BuzzerVolume * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),13,1) ******/ extern struct xVarIdStruct yVarR_z06K_BuzzerVolume; /***** * SIGNALROUTE TimeToShow * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),122(55,25),1,1) ******/ extern xIdNode yChaO_z07_TimeToShow[]; extern xIdNode yChaOR_z07_TimeToShow[]; extern struct xChannelIdStruct yChaR_z07_TimeToShow; extern struct xChannelIdStruct yChaRR_z07_TimeToShow; /***** * SIGNALROUTE DMA_ToAlarmMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),170(139,95),1,1) ******/ extern xIdNode yChaO_z08_DMA_ToAlarmMan[]; extern xIdNode yChaOR_z08_DMA_ToAlarmMan[]; extern struct xChannelIdStruct yChaR_z08_DMA_ToAlarmMan; extern struct xChannelIdStruct yChaRR_z08_DMA_ToAlarmMan; /***** * SIGNALROUTE CableToTimeUpdater * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),146(100,59),1,1) ******/ extern xIdNode yChaO_z09_CableToTimeUpdater[]; extern xIdNode yChaOR_z09_CableToTimeUpdater[]; extern struct xChannelIdStruct yChaR_z09_CableToTimeUpdater; extern struct xChannelIdStruct yChaRR_z09_CableToTimeUpdater; /***** * SIGNALROUTE InputReceived * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),137(47,75),1,1) ******/ extern xIdNode yChaO_z0A_InputReceived[]; extern xIdNode yChaOR_z0A_InputReceived[]; extern struct xChannelIdStruct yChaR_z0A_InputReceived; extern struct xChannelIdStruct yChaRR_z0A_InputReceived; /***** * SIGNALROUTE CableToActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),299(72,165),1,1) ******/ extern xIdNode yChaO_z0B_CableToActualAlarm[]; extern xIdNode yChaOR_z0B_CableToActualAlarm[]; extern struct xChannelIdStruct yChaR_z0B_CableToActualAlarm; extern struct xChannelIdStruct yChaRR_z0B_CableToActualAlarm; /***** * SIGNALROUTE CableToAlarmMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),278(110,107),1,1) ******/ extern xIdNode yChaO_z0C_CableToAlarmMan[]; extern xIdNode yChaOR_z0C_CableToAlarmMan[]; extern struct xChannelIdStruct yChaR_z0C_CableToAlarmMan; extern struct xChannelIdStruct yChaRR_z0C_CableToAlarmMan; /***** * SIGNALROUTE ShowAlarmTime * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),197(95,147),1,1) ******/ extern xIdNode yChaO_z0D_ShowAlarmTime[]; extern xIdNode yChaOR_z0D_ShowAlarmTime[]; extern struct xChannelIdStruct yChaR_z0D_ShowAlarmTime; extern struct xChannelIdStruct yChaRR_z0D_ShowAlarmTime; /***** * SIGNALROUTE DMA_ToActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),230(135,154),1,1) ******/ extern xIdNode yChaO_z0E_DMA_ToActualAlarm[]; extern xIdNode yChaOR_z0E_DMA_ToActualAlarm[]; extern struct xChannelIdStruct yChaR_z0E_DMA_ToActualAlarm; extern struct xChannelIdStruct yChaRR_z0E_DMA_ToActualAlarm; /***** * SIGNALROUTE Speaker * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),239(60,190),1,1) ******/ extern xIdNode yChaO_z0F_Speaker[]; extern xIdNode yChaOR_z0F_Speaker[]; extern struct xChannelIdStruct yChaR_z0F_Speaker; extern struct xChannelIdStruct yChaRR_z0F_Speaker; /***** * CHANNEL TimeToShow * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(1),143(60,65),1,1) ******/ extern xIdNode yChaO_z1_TimeToShow[]; extern xIdNode yChaOR_z1_TimeToShow[]; extern struct xChannelIdStruct yChaR_z1_TimeToShow; extern struct xChannelIdStruct yChaRR_z1_TimeToShow; /***** * CHANNEL InputReceived * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(1),158(60,95),1,1) ******/ extern xIdNode yChaO_z2_InputReceived[]; extern xIdNode yChaOR_z2_InputReceived[]; extern struct xChannelIdStruct yChaR_z2_InputReceived; extern struct xChannelIdStruct yChaRR_z2_InputReceived; /***** * CHANNEL Speaker * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(1),194(60,125),1,1) ******/ extern xIdNode yChaO_z3_Speaker[]; extern xIdNode yChaOR_z3_Speaker[]; extern struct xChannelIdStruct yChaR_z3_Speaker; extern struct xChannelIdStruct yChaRR_z3_Speaker; /***** * SIGNAL iTimeToShow * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),2,1) ******/ extern struct xSignalIdStruct ySigR_z4_iTimeToShow; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; SDL_Integer Param1; SDL_Integer Param2; } yPDef_z4_iTimeToShow; typedef yPDef_z4_iTimeToShow *yPDP_z4_iTimeToShow; /***** * SIGNAL iTimeToAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),3,1) ******/ extern struct xSignalIdStruct ySigR_z5_iTimeToAlarm; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; SDL_Integer Param1; SDL_Integer Param2; } yPDef_z5_iTimeToAlarm; typedef yPDef_z5_iTimeToAlarm *yPDP_z5_iTimeToAlarm; /***** * SIGNAL iCurAlarmTime * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),4,1) ******/ extern struct xSignalIdStruct ySigR_z6_iCurAlarmTime; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; SDL_Integer Param1; SDL_Integer Param2; } yPDef_z6_iCurAlarmTime; typedef yPDef_z6_iCurAlarmTime *yPDP_z6_iCurAlarmTime; /***** * SIGNAL bMinButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),6,1) ******/ extern struct xSignalIdStruct ySigR_z7_bMinButtonPressed; /***** * SIGNAL bMin10ButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),7,1) ******/ extern struct xSignalIdStruct ySigR_z8_bMin10ButtonPressed; /***** * SIGNAL bHourButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),8,1) ******/ extern struct xSignalIdStruct ySigR_z9_bHourButtonPressed; /***** * SIGNAL bWakeButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),10,1) ******/ extern struct xSignalIdStruct ySigR_zA_bWakeButtonPressed; /***** * SIGNAL bWakeMinButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),11,1) ******/ extern struct xSignalIdStruct ySigR_zB_bWakeMinButtonPressed; /***** * SIGNAL bWakeMin10ButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),12,1) ******/ extern struct xSignalIdStruct ySigR_zC_bWakeMin10ButtonPressed; /***** * SIGNAL bWakeHourButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),13,1) ******/ extern struct xSignalIdStruct ySigR_zD_bWakeHourButtonPressed; /***** * SIGNAL bSoundActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),15,1) ******/ extern struct xSignalIdStruct ySigR_zE_bSoundActualAlarm; /***** * SIGNAL bSnoozeButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),16,1) ******/ extern struct xSignalIdStruct ySigR_zF_bSnoozeButtonPressed; /***** * SIGNAL sTypeRadioSel * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),17,1) ******/ extern struct xSignalIdStruct ySigR_zG_sTypeRadioSel; /***** * SIGNAL sTypeBuzzerSel * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),18,1) ******/ extern struct xSignalIdStruct ySigR_zH_sTypeBuzzerSel; /***** * SIGNAL sTypeOffSel * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),19,1) ******/ extern struct xSignalIdStruct ySigR_zI_sTypeOffSel; /***** * SIGNAL sBuzzerVolume * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),20,1) ******/ extern struct xSignalIdStruct ySigR_zJ_sBuzzerVolume; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; SDL_Integer Param1; } yPDef_zJ_sBuzzerVolume; typedef yPDef_zJ_sBuzzerVolume *yPDP_zJ_sBuzzerVolume; /***** * SIGNAL aRadioOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),21,1) ******/ extern struct xSignalIdStruct ySigR_zK_aRadioOn; /***** * SIGNAL aRadioOff * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),22,1) ******/ extern struct xSignalIdStruct ySigR_zL_aRadioOff; /***** * SIGNAL aBuzzerOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),23,1) ******/ extern struct xSignalIdStruct ySigR_zM_aBuzzerOn; typedef struct { xSignalNode Pre; xSignalNode Suc; int Prio; SDL_PId Receiver; SDL_PId Sender; xSignalIdNode NameNode; int GlobalInstanceId; xChannelIdNode EnvChannel; SDL_Integer Param1; } yPDef_zM_aBuzzerOn; typedef yPDef_zM_aBuzzerOn *yPDP_zM_aBuzzerOn; /***** * SIGNAL aBuzzerOff * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),24,1) ******/ extern struct xSignalIdStruct ySigR_zN_aBuzzerOff; /************************************************************************* ** #CODE directives, #HEADING sections ** *************************************************************************/ /************************************************************************* ** #CODE directives, #BODY sections ** *************************************************************************/ /************************************************************************* ** SECTION Variables and Functions ** *************************************************************************/ /***** * SYSTEM AlarmClock * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy,4,1,8) ******/ struct xSystemIdStruct ySysR_z_AlarmClock = { xSystemEC , (xIdNode)0, (xIdNode)0, (xIdNode)&xSymbolTableIdRec, "AlarmClock" , (xIdNode *)0, (xPrdIdNode *)0, (xSystemIdNode)0 , -1 , -1 , -1 }; /***** * ENV ******/ xIdNode yEnvO_env[] = { (xIdNode)&yChaRR_z1_TimeToShow, (xIdNode)&yChaR_z2_InputReceived, (xIdNode)&yChaRR_z3_Speaker, (xIdNode)0 }; /***** * BLOCK AlarmClockBlock * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk,4,1,7) ******/ struct xBlockIdStruct yBloR_z0_AlarmClockBlock = { xBlockEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "AlarmClockBlock" , (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0, (xViewIndexRec *)0, 1 , -1 , -1 , -1 , 0 }; xIdNode yChaOR_z1_TimeToShow[] = { (xIdNode)&yChaRR_z07_TimeToShow, (xIdNode)&yChaRR_z0D_ShowAlarmTime, (xIdNode)0}; xIdNode yChaO_z2_InputReceived[] = { (xIdNode)&yChaR_z0A_InputReceived, (xIdNode)0}; xIdNode yChaOR_z3_Speaker[] = { (xIdNode)&yChaRR_z0F_Speaker, (xIdNode)0}; /***** * PROCESS TimeUpdater * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr,4,1,9) ******/ long int yPrsC_z03_TimeUpdater[50+1]; xSignalIdNode yPrsS_z03_TimeUpdater[] = { &ySigR_z7_bMinButtonPressed, &ySigR_z8_bMin10ButtonPressed, &ySigR_z9_bHourButtonPressed, &ySigR_z035_waitMinuteTimer, (xSignalIdNode)0}; xStateIdNode yPrsT_z03_TimeUpdater[] = { &xStartStateIdRec, &yStaR_z034_WaitForTimeUpdate}; static xPrsNode yPrsA_z03_TimeUpdater = (xPrsNode)0; static xPrsNode yPrsB_z03_TimeUpdater = (xPrsNode)0; struct xPrsIdStruct yPrsR_z03_TimeUpdater = { xProcessEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "TimeUpdater" , yPrsT_z03_TimeUpdater, yPrsS_z03_TimeUpdater , 0 , yPrsO_z03_TimeUpdater, -1 , 1 , 1, &yPrsB_z03_TimeUpdater, (unsigned)sizeof(yVDef_z03_TimeUpdater) , 100, &yPrsA_z03_TimeUpdater , -1 , -1 , yRef_z03_TimeUpdater , 50 , 4 , -1 , yPrsC_z03_TimeUpdater , 0 , 0, yPAD_z03_TimeUpdater, yFree_z03_TimeUpdater, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr,4,1,9)" }; static xSignalNode ySigA_z03_TimeUpdater = (xSignalNode)0; struct xSignalIdStruct ySigR_z03_TimeUpdater = { xStartUpSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock , "-" , (unsigned)sizeof(yPDef_z03_TimeUpdater), &ySigA_z03_TimeUpdater, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr,4,1,9)" ,0 }; xIdNode yPrsO_z03_TimeUpdater[] = { (xIdNode)&yChaR_z07_TimeToShow, (xIdNode)&yChaR_z08_DMA_ToAlarmMan, (xIdNode)&yChaRR_z09_CableToTimeUpdater, (xIdNode)0}; void yFree_z03_TimeUpdater(void *yVarP) { } /*+++++ * GR ref function for process TimeUpdater * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr,4,1,20) ++++++*/ char * yRef_z03_TimeUpdater (int SymbolNo, xSymbolType *SymbolType) { switch (SymbolNo) { case 0: *SymbolType = xsStart; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),116(60,5),1,1)"; case 1: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),164(50,110),1,1)"; case 2: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),287(50,35),1,1)"; case 3: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),374(55,35),1,1)"; case 4: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),443(55,35),1,1)"; case 5: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),122(60,20),1,1)"; case 6: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),125(60,35),1,1)"; case 7: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),143(55,50),1,1)"; case 8: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),536(45,65),1,1)"; case 9: *SymbolType = xsSet; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),140(40,80),1,1)"; case 10: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),134(50,95),1,1)"; case 11: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),170(55,125),1,1)"; case 12: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),197(60,140),1,1)"; case 13: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),200(110,145),1,1)"; case 14: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),200(110,145),2,1)"; case 15: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),215(110,170),1,1)"; case 16: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),218(155,150),1,1)"; case 17: *SymbolType = xsSet; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),236(40,175),1,1)"; case 18: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),272(40,190),1,1)"; case 19: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),266(40,205),1,1)"; case 20: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),233(130,205),1,1)"; case 21: *SymbolType = xsReset; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),290(50,50),1,1)"; case 22: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),290(50,50),2,1)"; case 23: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),293(50,65),1,1)"; case 24: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),296(50,85),1,1)"; case 25: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),296(50,85),2,1)"; case 26: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),299(50,100),1,1)"; case 27: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),302(50,120),1,1)"; case 28: *SymbolType = xsSet; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),305(35,150),1,1)"; case 29: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),488(35,165),1,1)"; case 30: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),485(35,180),1,1)"; case 31: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(2),482(45,195),1,1)"; case 32: *SymbolType = xsReset; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),371(55,50),1,1)"; case 33: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),371(55,50),2,1)"; case 34: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),368(55,65),1,1)"; case 35: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),365(55,85),1,1)"; case 36: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),365(55,85),2,1)"; case 37: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),362(55,100),1,1)"; case 38: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),359(55,120),1,1)"; case 39: *SymbolType = xsSet; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),356(40,150),1,1)"; case 40: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),506(40,165),1,1)"; case 41: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),503(40,180),1,1)"; case 42: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(3),500(50,195),1,1)"; case 43: *SymbolType = xsReset; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),440(55,50),1,1)"; case 44: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),440(55,50),2,1)"; case 45: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),431(55,70),1,1)"; case 46: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),428(55,90),1,1)"; case 47: *SymbolType = xsSet; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),425(40,120),1,1)"; case 48: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),524(40,135),1,1)"; case 49: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),521(40,150),1,1)"; case 50: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(4),518(50,165),1,1)"; default : *SymbolType = xsNoSuchSymbolType; return ""; } } /*+++++ * Function for process TimeUpdater * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr,4,1,20) ++++++*/ extern void yPAD_z03_TimeUpdater (xPrsNode VarP) { void *ySVarP = VarP->Signal; register yVDef_z03_TimeUpdater * yVarP = (yVDef_z03_TimeUpdater *)VarP; xPrdNode yTempPrd; xSignalNode yOutputSignal; SDL_Boolean yDcn_SDL_Boolean; switch (yVarP->RestartAddress) { /*----- * START * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),116(60,5),1,1) ------*/ case 0: xGRSetSymbol(0); if ( xBreakBefore(VarP, xFileName, 1029, 5, (int)1) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),122(60,20),1,1) ------*/ case 5: (yVarP->z036_Hour = 0); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1047, 6, (int)1) ) return; /*----- * ASSIGNMENT Minute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),125(60,35),1,1) ------*/ case 6: (yVarP->z037_Minute = 0); xTraceAssign("Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1065, 7, (int)1) ) return; /*----- * ASSIGNMENT Delay := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),143(55,50),1,1) ------*/ case 7: (yVarP->z038_Delay = SDL_Duration_Lit((int)(60),(int)(0))); xTraceAssign("Delay := ", &(yVarP->z038_Delay), (tSDLTypeInfo *)&ySDL_SDL_Duration); xMSCEAssign(VarP, "Delay := ", &(yVarP->z038_Delay), (tSDLTypeInfo *)&ySDL_SDL_Duration); if ( xBreakBefore(VarP, xFileName, 1084, 8, (int)1) ) return; /*----- * OUTPUT iTimeToShow * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),536(45,65),1,1) ------*/ case 8: yOutputSignal = xGetSignal((&ySigR_z4_iTimeToShow), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1104, 9, (int)1) ) return; /*----- * SET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),140(40,80),1,1) ------*/ case 9: SDL_SimpleSet(xPlus_SDL_Duration(SDL_Now(), yVarP->z038_Delay), &yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer), VarP); if ( xBreakBefore(VarP, xFileName, 1116, 10, (int)1) ) return; /*----- * NEXTSTATE WaitForTimeUpdate * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),134(50,95),1,1) ------*/ case 10: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),164(50,110),1,1) ------*/ case 1: xGRSetSymbol(1); yVarP->yTim_waitMinuteTimer = 0; if ( xBreakBefore(VarP, xFileName, 1138, 11, (int)1) ) return; /*----- * ASSIGNMENT Minute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),170(55,125),1,1) ------*/ case 11: (yVarP->z037_Minute = ((yVarP->z037_Minute)+(1))); xTraceAssign("Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1157, 12, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),197(60,140),1,1) ------*/ case 12: (yDcn_SDL_Boolean = ((yVarP->z037_Minute)>(59))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 1177, 13, (int)1) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),200(110,145),1,1) ------*/ case 13: (yVarP->z036_Hour = ((yVarP->z036_Hour)+(1))); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1196, 14, (int)0) ) return; /*----- * ASSIGNMENT Minute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),200(110,145),2,1) ------*/ case 14: (yVarP->z037_Minute = 0); xTraceAssign("Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1214, 15, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),215(110,170),1,1) ------*/ case 15: (yDcn_SDL_Boolean = ((yVarP->z036_Hour)>(23))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 1235, 16, (int)1) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),218(155,150),1,1) ------*/ case 16: (yVarP->z036_Hour = 0); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); } else { } } else { } if ( xBreakBefore(VarP, xFileName, 1257, 17, (int)1) ) return; /*----- * SET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),236(40,175),1,1) ------*/ case 17: SDL_SimpleSet(xPlus_SDL_Duration(SDL_Now(), yVarP->z038_Delay), &yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer), VarP); if ( xBreakBefore(VarP, xFileName, 1269, 18, (int)1) ) return; /*----- * OUTPUT iTimeToAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),272(40,190),1,1) ------*/ case 18: yOutputSignal = xGetSignal((&ySigR_z5_iTimeToAlarm), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1289, 19, (int)1) ) return; /*----- * OUTPUT iTimeToShow * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),266(40,205),1,1) ------*/ case 19: yOutputSignal = xGetSignal((&ySigR_z4_iTimeToShow), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1309, 20, (int)1) ) return; /*----- * NEXTSTATE WaitForTimeUpdate * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),233(130,205),1,1) ------*/ case 20: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bMin10ButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),287(50,35),1,1) ------*/ case 2: xGRSetSymbol(2); if ( xBreakBefore(VarP, xFileName, 1330, 21, (int)1) ) return; /*----- * RESET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),290(50,50),1,1) ------*/ case 21: SDL_SimpleReset(&yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer)); if ( xBreakBefore(VarP, xFileName, 1341, 22, (int)0) ) return; /*----- * ASSIGNMENT Minute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),290(50,50),2,1) ------*/ case 22: (yVarP->z037_Minute = ((yVarP->z037_Minute)+(10))); xTraceAssign("Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1360, 23, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),293(50,65),1,1) ------*/ case 23: (yDcn_SDL_Boolean = ((yVarP->z037_Minute)>(59))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 1380, 24, (int)1) ) return; /*----- * ASSIGNMENT Minute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),296(50,85),1,1) ------*/ case 24: (yVarP->z037_Minute = ((yVarP-> z037_Minute)-(60))); xTraceAssign("Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1399, 25, (int)0) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),296(50,85),2,1) ------*/ case 25: (yVarP->z036_Hour = ((yVarP->z036_Hour)+(1))); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1418, 26, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),299(50,100),1,1) ------*/ case 26: (yDcn_SDL_Boolean = ((yVarP->z036_Hour)>(23))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 1439, 27, (int)1) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),302(50,120),1,1) ------*/ case 27: (yVarP->z036_Hour = 0); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); } else { } } else { } if ( xBreakBefore(VarP, xFileName, 1461, 28, (int)1) ) return; /*----- * SET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),305(35,150),1,1) ------*/ case 28: SDL_SimpleSet(xPlus_SDL_Duration(SDL_Now(), yVarP->z038_Delay), &yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer), VarP); if ( xBreakBefore(VarP, xFileName, 1473, 29, (int)1) ) return; /*----- * OUTPUT iTimeToAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),488(35,165),1,1) ------*/ case 29: yOutputSignal = xGetSignal((&ySigR_z5_iTimeToAlarm), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1493, 30, (int)1) ) return; /*----- * OUTPUT iTimeToShow * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),485(35,180),1,1) ------*/ case 30: yOutputSignal = xGetSignal((&ySigR_z4_iTimeToShow), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1513, 31, (int)1) ) return; /*----- * NEXTSTATE WaitForTimeUpdate * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(2),482(45,195),1,1) ------*/ case 31: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bMinButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),374(55,35),1,1) ------*/ case 3: xGRSetSymbol(3); if ( xBreakBefore(VarP, xFileName, 1534, 32, (int)1) ) return; /*----- * RESET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),371(55,50),1,1) ------*/ case 32: SDL_SimpleReset(&yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer)); if ( xBreakBefore(VarP, xFileName, 1545, 33, (int)0) ) return; /*----- * ASSIGNMENT Minute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),371(55,50),2,1) ------*/ case 33: (yVarP->z037_Minute = ((yVarP->z037_Minute)+(1))); xTraceAssign("Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1564, 34, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),368(55,65),1,1) ------*/ case 34: (yDcn_SDL_Boolean = ((yVarP->z037_Minute)>(59))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 1584, 35, (int)1) ) return; /*----- * ASSIGNMENT Minute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),365(55,85),1,1) ------*/ case 35: (yVarP->z037_Minute = ((yVarP-> z037_Minute)-(60))); xTraceAssign("Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Minute := ", &(yVarP->z037_Minute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1603, 36, (int)0) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),365(55,85),2,1) ------*/ case 36: (yVarP->z036_Hour = ((yVarP->z036_Hour)+(1))); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1622, 37, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),362(55,100),1,1) ------*/ case 37: (yDcn_SDL_Boolean = ((yVarP->z036_Hour)>(23))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 1643, 38, (int)1) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),359(55,120),1,1) ------*/ case 38: (yVarP->z036_Hour = 0); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); } else { } } else { } if ( xBreakBefore(VarP, xFileName, 1665, 39, (int)1) ) return; /*----- * SET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),356(40,150),1,1) ------*/ case 39: SDL_SimpleSet(xPlus_SDL_Duration(SDL_Now(), yVarP->z038_Delay), &yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer), VarP); if ( xBreakBefore(VarP, xFileName, 1677, 40, (int)1) ) return; /*----- * OUTPUT iTimeToAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),506(40,165),1,1) ------*/ case 40: yOutputSignal = xGetSignal((&ySigR_z5_iTimeToAlarm), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1697, 41, (int)1) ) return; /*----- * OUTPUT iTimeToShow * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),503(40,180),1,1) ------*/ case 41: yOutputSignal = xGetSignal((&ySigR_z4_iTimeToShow), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1717, 42, (int)1) ) return; /*----- * NEXTSTATE WaitForTimeUpdate * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(3),500(50,195),1,1) ------*/ case 42: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bHourButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),443(55,35),1,1) ------*/ case 4: xGRSetSymbol(4); if ( xBreakBefore(VarP, xFileName, 1738, 43, (int)1) ) return; /*----- * RESET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),440(55,50),1,1) ------*/ case 43: SDL_SimpleReset(&yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer)); if ( xBreakBefore(VarP, xFileName, 1749, 44, (int)0) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),440(55,50),2,1) ------*/ case 44: (yVarP->z036_Hour = ((yVarP->z036_Hour)+(1))); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 1768, 45, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),431(55,70),1,1) ------*/ case 45: (yDcn_SDL_Boolean = ((yVarP->z036_Hour)>(23))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 1788, 46, (int)1) ) return; /*----- * ASSIGNMENT Hour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),428(55,90),1,1) ------*/ case 46: (yVarP->z036_Hour = 0); xTraceAssign("Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "Hour := ", &(yVarP->z036_Hour), (tSDLTypeInfo *)&ySDL_SDL_Integer); } else { } if ( xBreakBefore(VarP, xFileName, 1808, 47, (int)1) ) return; /*----- * SET waitMinuteTimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),425(40,120),1,1) ------*/ case 47: SDL_SimpleSet(xPlus_SDL_Duration(SDL_Now(), yVarP->z038_Delay), &yVarP->yTim_waitMinuteTimer, (&ySigR_z035_waitMinuteTimer), VarP); if ( xBreakBefore(VarP, xFileName, 1820, 48, (int)1) ) return; /*----- * OUTPUT iTimeToAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),524(40,135),1,1) ------*/ case 48: yOutputSignal = xGetSignal((&ySigR_z5_iTimeToAlarm), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z5_iTimeToAlarm *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1840, 49, (int)1) ) return; /*----- * OUTPUT iTimeToShow * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),521(40,150),1,1) ------*/ case 49: yOutputSignal = xGetSignal((&ySigR_z4_iTimeToShow), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param1 = yVarP->z036_Hour); (((yPDef_z4_iTimeToShow *)yOutputSignal)->Param2 = yVarP->z037_Minute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 1860, 50, (int)1) ) return; /*----- * NEXTSTATE WaitForTimeUpdate * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(4),518(50,165),1,1) ------*/ case 50: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } } /***** * STATE WaitForTimeUpdate * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),134(50,95),1,1) ******/ static xInputAction yStaH_z034_WaitForTimeUpdate[] = { (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)0}; static int yStaI_z034_WaitForTimeUpdate[] = { 3, 2, 4, 1, 0}; static long int yStaC_z034_WaitForTimeUpdate[4+1]; struct xStateIdStruct yStaR_z034_WaitForTimeUpdate = { xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z03_TimeUpdater, "WaitForTimeUpdate" , 1, yStaH_z034_WaitForTimeUpdate, yStaI_z034_WaitForTimeUpdate, 0, 0, 0 , yStaC_z034_WaitForTimeUpdate, (xStateIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),134(50,95),1,1)" }; /***** * TIMER waitMinuteTimer * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),1,7) ******/ struct xSignalIdStruct ySigR_z035_waitMinuteTimer = { xTimerEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z03_TimeUpdater, "waitMinuteTimer" , (unsigned)sizeof(xTimerRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\TimeUpdater.spr(1),119(10,25),1,7)" ,((unsigned) &((yVDef_z03_TimeUpdater *) 0)->yTim_waitMinuteTimer) }; /***** * DCL Hour * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),3,1) ******/ struct xVarIdStruct yVarR_z036_Hour = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z03_TimeUpdater, "Hour" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z03_TimeUpdater *) 0)->z036_Hour), (unsigned)0, 0 }; /***** * DCL Minute * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),4,1) ******/ struct xVarIdStruct yVarR_z037_Minute = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z03_TimeUpdater, "Minute" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z03_TimeUpdater *) 0)->z037_Minute), (unsigned)0, 0 }; /***** * DCL Delay * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\TimeUpdater.spr(1),119(10,25),5,1) ******/ struct xVarIdStruct yVarR_z038_Delay = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z03_TimeUpdater, "Delay" , &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration, ((unsigned) &((yVDef_z03_TimeUpdater *) 0)->z038_Delay), (unsigned)0, 0 }; /***** * PROCESS InputMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr,4,1,9) ******/ long int yPrsC_z04_InputMan[29+1]; xSignalIdNode yPrsS_z04_InputMan[] = { &ySigR_z7_bMinButtonPressed, &ySigR_z8_bMin10ButtonPressed, &ySigR_z9_bHourButtonPressed, &ySigR_zA_bWakeButtonPressed, &ySigR_zB_bWakeMinButtonPressed, &ySigR_zC_bWakeMin10ButtonPressed, &ySigR_zD_bWakeHourButtonPressed, &ySigR_zF_bSnoozeButtonPressed, &ySigR_zG_sTypeRadioSel, &ySigR_zH_sTypeBuzzerSel, &ySigR_zI_sTypeOffSel, &ySigR_zJ_sBuzzerVolume, (xSignalIdNode)0}; xStateIdNode yPrsT_z04_InputMan[] = { &xStartStateIdRec, &yStaR_z043_InputIdle}; static xPrsNode yPrsA_z04_InputMan = (xPrsNode)0; static xPrsNode yPrsB_z04_InputMan = (xPrsNode)0; struct xPrsIdStruct yPrsR_z04_InputMan = { xProcessEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "InputMan" , yPrsT_z04_InputMan, yPrsS_z04_InputMan , 0 , yPrsO_z04_InputMan, -1 , 1 , 1, &yPrsB_z04_InputMan, (unsigned)sizeof(yVDef_z04_InputMan) , 100, &yPrsA_z04_InputMan , -1 , -1 , yRef_z04_InputMan , 29 , 12 , -1 , yPrsC_z04_InputMan , 0 , 0, yPAD_z04_InputMan, yFree_z04_InputMan, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr,4,1,9)" }; static xSignalNode ySigA_z04_InputMan = (xSignalNode)0; struct xSignalIdStruct ySigR_z04_InputMan = { xStartUpSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock , "-" , (unsigned)sizeof(yPDef_z04_InputMan), &ySigA_z04_InputMan, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr,4,1,9)" ,0 }; xIdNode yPrsO_z04_InputMan[] = { (xIdNode)&yChaR_z09_CableToTimeUpdater, (xIdNode)&yChaRR_z0A_InputReceived, (xIdNode)&yChaR_z0B_CableToActualAlarm, (xIdNode)&yChaR_z0C_CableToAlarmMan, (xIdNode)0}; void yFree_z04_InputMan(void *yVarP) { } /*+++++ * GR ref function for process InputMan * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr,4,1,17) ++++++*/ char * yRef_z04_InputMan (int SymbolNo, xSymbolType *SymbolType) { switch (SymbolNo) { case 0: *SymbolType = xsStart; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),116(30,30),1,1)"; case 1: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),125(15,70),1,1)"; case 2: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),128(65,70),1,1)"; case 3: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),131(125,70),1,1)"; case 4: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),329(55,160),1,1)"; case 5: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),188(5,30),1,1)"; case 6: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),191(65,30),1,1)"; case 7: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),194(110,30),1,1)"; case 8: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),197(150,30),1,1)"; case 9: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),257(5,120),1,1)"; case 10: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),260(50,120),1,1)"; case 11: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),263(95,120),1,1)"; case 12: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),266(140,120),1,1)"; case 13: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),119(30,50),1,1)"; case 14: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),143(10,90),1,1)"; case 15: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),152(75,120),1,1)"; case 16: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),146(65,90),1,1)"; case 17: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),149(125,90),1,1)"; case 18: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),338(55,175),1,1)"; case 19: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),347(75,190),1,1)"; case 20: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),200(5,45),1,1)"; case 21: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),215(75,75),1,1)"; case 22: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),203(65,45),1,1)"; case 23: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),209(110,45),1,1)"; case 24: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),212(150,45),1,1)"; case 25: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),281(5,135),1,1)"; case 26: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),296(75,160),1,1)"; case 27: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),284(50,135),1,1)"; case 28: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),287(95,135),1,1)"; case 29: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(2),290(140,135),1,1)"; default : *SymbolType = xsNoSuchSymbolType; return ""; } } /*+++++ * Function for process InputMan * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr,4,1,17) ++++++*/ extern void yPAD_z04_InputMan (xPrsNode VarP) { void *ySVarP = VarP->Signal; register yVDef_z04_InputMan * yVarP = (yVDef_z04_InputMan *)VarP; xPrdNode yTempPrd; xSignalNode yOutputSignal; xIdNode yViaList[2]; switch (yVarP->RestartAddress) { /*----- * START * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),116(30,30),1,1) ------*/ case 0: xGRSetSymbol(0); if ( xBreakBefore(VarP, xFileName, 2095, 13, (int)1) ) return; /*----- * NEXTSTATE InputIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),119(30,50),1,1) ------*/ case 13: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bMinButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),125(15,70),1,1) ------*/ case 1: xGRSetSymbol(1); if ( xBreakBefore(VarP, xFileName, 2115, 14, (int)1) ) return; /*----- * OUTPUT bMinButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),143(10,90),1,1) ------*/ case 14: yViaList[0] = (xIdNode)&yChaR_z09_CableToTimeUpdater; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_z7_bMinButtonPressed), ( *((&yPrsR_z03_TimeUpdater))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z03_TimeUpdater))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); L_grst5080_1:; if ( xBreakBefore(VarP, xFileName, 2137, 15, (int)1) ) return; /*----- * NEXTSTATE InputIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),152(75,120),1,1) ------*/ case 15: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bMin10ButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),128(65,70),1,1) ------*/ case 2: xGRSetSymbol(2); if ( xBreakBefore(VarP, xFileName, 2157, 16, (int)1) ) return; /*----- * OUTPUT bMin10ButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),146(65,90),1,1) ------*/ case 16: yViaList[0] = (xIdNode)&yChaR_z09_CableToTimeUpdater; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_z8_bMin10ButtonPressed), ( *((&yPrsR_z03_TimeUpdater))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z03_TimeUpdater))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_1 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),152(75,120),1,1) ------*/ goto L_grst5080_1; /*----- * INPUT bHourButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),131(125,70),1,1) ------*/ case 3: xGRSetSymbol(3); if ( xBreakBefore(VarP, xFileName, 2192, 17, (int)1) ) return; /*----- * OUTPUT bHourButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),149(125,90),1,1) ------*/ case 17: yViaList[0] = (xIdNode)&yChaR_z09_CableToTimeUpdater; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_z9_bHourButtonPressed), ( *((&yPrsR_z03_TimeUpdater))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z03_TimeUpdater))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_1 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),152(75,120),1,1) ------*/ goto L_grst5080_1; /*----- * INPUT sBuzzerVolume * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),329(55,160),1,1) ------*/ case 4: xGRSetSymbol(4); (yVarP->z044_TransferMe = ((yPDef_zJ_sBuzzerVolume *) ySVarP)->Param1); if ( xBreakBefore(VarP, xFileName, 2229, 18, (int)1) ) return; /*----- * OUTPUT sBuzzerVolume * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),338(55,175),1,1) ------*/ case 18: yViaList[0] = (xIdNode)&yChaR_z0B_CableToActualAlarm; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zJ_sBuzzerVolume), ( *((&yPrsR_z06_ActualAlarm))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z06_ActualAlarm))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_zJ_sBuzzerVolume *)yOutputSignal)->Param1 = yVarP->z044_TransferMe); SDL_Output(yOutputSignal, yViaList); if ( xBreakBefore(VarP, xFileName, 2251, 19, (int)1) ) return; /*----- * NEXTSTATE InputIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),347(75,190),1,1) ------*/ case 19: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bSnoozeButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),188(5,30),1,1) ------*/ case 5: xGRSetSymbol(5); if ( xBreakBefore(VarP, xFileName, 2271, 20, (int)1) ) return; /*----- * OUTPUT bSnoozeButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),200(5,45),1,1) ------*/ case 20: yViaList[0] = (xIdNode)&yChaR_z0B_CableToActualAlarm; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zF_bSnoozeButtonPressed), ( *((&yPrsR_z06_ActualAlarm))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z06_ActualAlarm))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); L_grst5080_2:; if ( xBreakBefore(VarP, xFileName, 2293, 21, (int)1) ) return; /*----- * NEXTSTATE InputIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),215(75,75),1,1) ------*/ case 21: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT sTypeRadioSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),191(65,30),1,1) ------*/ case 6: xGRSetSymbol(6); if ( xBreakBefore(VarP, xFileName, 2313, 22, (int)1) ) return; /*----- * OUTPUT sTypeRadioSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),203(65,45),1,1) ------*/ case 22: yViaList[0] = (xIdNode)&yChaR_z0B_CableToActualAlarm; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zG_sTypeRadioSel), ( *((&yPrsR_z06_ActualAlarm))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z06_ActualAlarm))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_2 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),215(75,75),1,1) ------*/ goto L_grst5080_2; /*----- * INPUT sTypeBuzzerSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),194(110,30),1,1) ------*/ case 7: xGRSetSymbol(7); if ( xBreakBefore(VarP, xFileName, 2348, 23, (int)1) ) return; /*----- * OUTPUT sTypeBuzzerSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),209(110,45),1,1) ------*/ case 23: yViaList[0] = (xIdNode)&yChaR_z0B_CableToActualAlarm; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zH_sTypeBuzzerSel), ( *((&yPrsR_z06_ActualAlarm))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z06_ActualAlarm))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_2 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),215(75,75),1,1) ------*/ goto L_grst5080_2; /*----- * INPUT sTypeOffSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),197(150,30),1,1) ------*/ case 8: xGRSetSymbol(8); if ( xBreakBefore(VarP, xFileName, 2383, 24, (int)1) ) return; /*----- * OUTPUT sTypeOffSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),212(150,45),1,1) ------*/ case 24: yViaList[0] = (xIdNode)&yChaR_z0B_CableToActualAlarm; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zI_sTypeOffSel), ( *((&yPrsR_z06_ActualAlarm))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z06_ActualAlarm))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_2 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),215(75,75),1,1) ------*/ goto L_grst5080_2; /*----- * INPUT bWakeButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),257(5,120),1,1) ------*/ case 9: xGRSetSymbol(9); if ( xBreakBefore(VarP, xFileName, 2418, 25, (int)1) ) return; /*----- * OUTPUT bWakeButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),281(5,135),1,1) ------*/ case 25: yViaList[0] = (xIdNode)&yChaR_z0C_CableToAlarmMan; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zA_bWakeButtonPressed), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); L_grst5080_3:; if ( xBreakBefore(VarP, xFileName, 2440, 26, (int)1) ) return; /*----- * NEXTSTATE InputIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),296(75,160),1,1) ------*/ case 26: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bWakeMinButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),260(50,120),1,1) ------*/ case 10: xGRSetSymbol(10); if ( xBreakBefore(VarP, xFileName, 2460, 27, (int)1) ) return; /*----- * OUTPUT bWakeMinButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),284(50,135),1,1) ------*/ case 27: yViaList[0] = (xIdNode)&yChaR_z0C_CableToAlarmMan; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zB_bWakeMinButtonPressed), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_3 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),296(75,160),1,1) ------*/ goto L_grst5080_3; /*----- * INPUT bWakeMin10ButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),263(95,120),1,1) ------*/ case 11: xGRSetSymbol(11); if ( xBreakBefore(VarP, xFileName, 2495, 28, (int)1) ) return; /*----- * OUTPUT bWakeMin10ButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),287(95,135),1,1) ------*/ case 28: yViaList[0] = (xIdNode)&yChaR_z0C_CableToAlarmMan; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zC_bWakeMin10ButtonPressed), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_3 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),296(75,160),1,1) ------*/ goto L_grst5080_3; /*----- * INPUT bWakeHourButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),266(140,120),1,1) ------*/ case 12: xGRSetSymbol(12); if ( xBreakBefore(VarP, xFileName, 2530, 29, (int)1) ) return; /*----- * OUTPUT bWakeHourButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),290(140,135),1,1) ------*/ case 29: yViaList[0] = (xIdNode)&yChaR_z0C_CableToAlarmMan; yViaList[1] = (xIdNode)0; yOutputSignal = xGetSignal((&ySigR_zD_bWakeHourButtonPressed), ( *((&yPrsR_z05_AlarmMan))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z05_AlarmMan))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, yViaList); /*----- * JOIN grst5080_3 * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(2),296(75,160),1,1) ------*/ goto L_grst5080_3; } } /***** * STATE InputIdle * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),119(30,50),1,1) ******/ static xInputAction yStaH_z043_InputIdle[] = { (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)0}; static int yStaI_z043_InputIdle[] = { 1, 2, 3, 9, 10, 11, 12, 5, 6, 7, 8, 4, 0}; static long int yStaC_z043_InputIdle[12+1]; struct xStateIdStruct yStaR_z043_InputIdle = { xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z04_InputMan, "InputIdle" , 1, yStaH_z043_InputIdle, yStaI_z043_InputIdle, 0, 0, 0 , yStaC_z043_InputIdle, (xStateIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\InputMan.spr(1),119(30,50),1,1)" }; /***** * DCL TransferMe * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\InputMan.spr(1),341(80,10),2,1) ******/ struct xVarIdStruct yVarR_z044_TransferMe = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z04_InputMan, "TransferMe" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z04_InputMan *) 0)->z044_TransferMe), (unsigned)0, 0 }; /***** * PROCESS AlarmMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr,4,1,9) ******/ long int yPrsC_z05_AlarmMan[35+1]; xSignalIdNode yPrsS_z05_AlarmMan[] = { &ySigR_z5_iTimeToAlarm, &ySigR_zA_bWakeButtonPressed, &ySigR_zB_bWakeMinButtonPressed, &ySigR_zC_bWakeMin10ButtonPressed, &ySigR_zD_bWakeHourButtonPressed, (xSignalIdNode)0}; xStateIdNode yPrsT_z05_AlarmMan[] = { &xStartStateIdRec, &yStaR_z053_AlarmIdle}; static xPrsNode yPrsA_z05_AlarmMan = (xPrsNode)0; static xPrsNode yPrsB_z05_AlarmMan = (xPrsNode)0; struct xPrsIdStruct yPrsR_z05_AlarmMan = { xProcessEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "AlarmMan" , yPrsT_z05_AlarmMan, yPrsS_z05_AlarmMan , 0 , yPrsO_z05_AlarmMan, -1 , 1 , 1, &yPrsB_z05_AlarmMan, (unsigned)sizeof(yVDef_z05_AlarmMan) , 100, &yPrsA_z05_AlarmMan , -1 , -1 , yRef_z05_AlarmMan , 35 , 5 , -1 , yPrsC_z05_AlarmMan , 0 , 0, yPAD_z05_AlarmMan, yFree_z05_AlarmMan, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr,4,1,9)" }; static xSignalNode ySigA_z05_AlarmMan = (xSignalNode)0; struct xSignalIdStruct ySigR_z05_AlarmMan = { xStartUpSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock , "-" , (unsigned)sizeof(yPDef_z05_AlarmMan), &ySigA_z05_AlarmMan, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr,4,1,9)" ,0 }; xIdNode yPrsO_z05_AlarmMan[] = { (xIdNode)&yChaRR_z08_DMA_ToAlarmMan, (xIdNode)&yChaRR_z0C_CableToAlarmMan, (xIdNode)&yChaR_z0D_ShowAlarmTime, (xIdNode)&yChaR_z0E_DMA_ToActualAlarm, (xIdNode)0}; void yFree_z05_AlarmMan(void *yVarP) { } /*+++++ * GR ref function for process AlarmMan * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr,4,1,17) ++++++*/ char * yRef_z05_AlarmMan (int SymbolNo, xSymbolType *SymbolType) { switch (SymbolNo) { case 0: *SymbolType = xsStart; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),119(50,25),1,1)"; case 1: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),128(25,80),1,1)"; case 2: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(2),221(55,25),1,1)"; case 3: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),254(60,25),1,1)"; case 4: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),392(65,25),1,1)"; case 5: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(5),461(60,25),1,1)"; case 6: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),188(45,45),1,1)"; case 7: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),188(45,45),2,1)"; case 8: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),122(45,65),1,1)"; case 9: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),143(10,115),1,1)"; case 10: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),161(130,120),1,1)"; case 11: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),152(45,140),1,1)"; case 12: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),200(50,160),1,1)"; case 13: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(2),224(40,40),1,1)"; case 14: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(2),233(65,55),1,1)"; case 15: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),257(60,40),1,1)"; case 16: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),260(10,60),1,1)"; case 17: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),263(10,80),1,1)"; case 18: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),263(10,80),2,1)"; case 19: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),269(10,95),1,1)"; case 20: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),272(10,115),1,1)"; case 21: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),284(55,145),1,1)"; case 22: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(3),281(80,160),1,1)"; case 23: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),389(65,40),1,1)"; case 24: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),386(15,60),1,1)"; case 25: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),383(15,80),1,1)"; case 26: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),383(15,80),2,1)"; case 27: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),380(15,95),1,1)"; case 28: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),377(15,115),1,1)"; case 29: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),374(60,145),1,1)"; case 30: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(4),371(85,160),1,1)"; case 31: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(5),452(60,40),1,1)"; case 32: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(5),449(60,55),1,1)"; case 33: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(5),446(60,75),1,1)"; case 34: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(5),443(50,100),1,1)"; case 35: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(5),440(75,120),1,1)"; default : *SymbolType = xsNoSuchSymbolType; return ""; } } /*+++++ * Function for process AlarmMan * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr,4,1,17) ++++++*/ extern void yPAD_z05_AlarmMan (xPrsNode VarP) { void *ySVarP = VarP->Signal; register yVDef_z05_AlarmMan * yVarP = (yVDef_z05_AlarmMan *)VarP; xPrdNode yTempPrd; xSignalNode yOutputSignal; SDL_Boolean yDcn_SDL_Boolean; switch (yVarP->RestartAddress) { /*----- * START * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),119(50,25),1,1) ------*/ case 0: xGRSetSymbol(0); if ( xBreakBefore(VarP, xFileName, 2749, 6, (int)1) ) return; /*----- * ASSIGNMENT AlarmHour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),188(45,45),1,1) ------*/ case 6: (yVarP->z057_AlarmHour = 0); xTraceAssign("AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 2768, 7, (int)0) ) return; /*----- * ASSIGNMENT AlarmMinute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),188(45,45),2,1) ------*/ case 7: (yVarP->z056_AlarmMinute = 0); xTraceAssign("AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 2787, 8, (int)1) ) return; /*----- * NEXTSTATE AlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),122(45,65),1,1) ------*/ case 8: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT iTimeToAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),128(25,80),1,1) ------*/ case 1: xGRSetSymbol(1); (yVarP->z055_InputHour = ((yPDef_z5_iTimeToAlarm *)ySVarP)-> Param1); (yVarP->z054_InputMinute = ((yPDef_z5_iTimeToAlarm *) ySVarP)->Param2); if ( xBreakBefore(VarP, xFileName, 2811, 9, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),143(10,115),1,1) ------*/ case 9: (yDcn_SDL_Boolean = ((((yVarP->z054_InputMinute) == (yVarP-> z056_AlarmMinute)))&&(((yVarP->z055_InputHour) == (yVarP-> z057_AlarmHour))))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 2835, 11, (int)1) ) return; /*----- * OUTPUT bSoundActualAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),152(45,140),1,1) ------*/ case 11: yOutputSignal = xGetSignal((&ySigR_zE_bSoundActualAlarm), ( *((&yPrsR_z06_ActualAlarm))->ActivePrsList != (xPrsNode)0 ? (*((&yPrsR_z06_ActualAlarm))->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 2851, 12, (int)1) ) return; /*----- * NEXTSTATE AlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),200(50,160),1,1) ------*/ case 12: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } else { if ( xBreakBefore(VarP, xFileName, 2863, 10, (int)1) ) return; /*----- * NEXTSTATE AlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),161(130,120),1,1) ------*/ case 10: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } /*----- * INPUT bWakeButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(2),221(55,25),1,1) ------*/ case 2: xGRSetSymbol(2); if ( xBreakBefore(VarP, xFileName, 2884, 13, (int)1) ) return; /*----- * OUTPUT iCurAlarmTime * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(2),224(40,40),1,1) ------*/ case 13: yOutputSignal = xGetSignal((&ySigR_z6_iCurAlarmTime), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param1 = yVarP->z057_AlarmHour); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param2 = yVarP->z056_AlarmMinute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 2904, 14, (int)1) ) return; /*----- * NEXTSTATE AlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(2),233(65,55),1,1) ------*/ case 14: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bWakeMin10ButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),254(60,25),1,1) ------*/ case 3: xGRSetSymbol(3); if ( xBreakBefore(VarP, xFileName, 2924, 15, (int)1) ) return; /*----- * ASSIGNMENT AlarmMinute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),257(60,40),1,1) ------*/ case 15: (yVarP->z056_AlarmMinute = ((yVarP-> z056_AlarmMinute)+(10))); xTraceAssign("AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 2943, 16, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),260(10,60),1,1) ------*/ case 16: (yDcn_SDL_Boolean = ((yVarP-> z056_AlarmMinute)>(59))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 2963, 17, (int)1) ) return; /*----- * ASSIGNMENT AlarmHour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),263(10,80),1,1) ------*/ case 17: (yVarP->z057_AlarmHour = ((yVarP-> z057_AlarmHour)+(1))); xTraceAssign("AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 2982, 18, (int)0) ) return; /*----- * ASSIGNMENT AlarmMinute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),263(10,80),2,1) ------*/ case 18: (yVarP->z056_AlarmMinute = ((yVarP-> z056_AlarmMinute)-(60))); xTraceAssign("AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 3001, 19, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),269(10,95),1,1) ------*/ case 19: (yDcn_SDL_Boolean = ((yVarP-> z057_AlarmHour)>(23))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 3022, 20, (int)1) ) return; /*----- * ASSIGNMENT AlarmHour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),272(10,115),1,1) ------*/ case 20: (yVarP->z057_AlarmHour = 0); xTraceAssign("AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); } else { } } else { } if ( xBreakBefore(VarP, xFileName, 3045, 21, (int)1) ) return; /*----- * OUTPUT iCurAlarmTime * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),284(55,145),1,1) ------*/ case 21: yOutputSignal = xGetSignal((&ySigR_z6_iCurAlarmTime), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param1 = yVarP->z057_AlarmHour); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param2 = yVarP->z056_AlarmMinute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 3065, 22, (int)1) ) return; /*----- * NEXTSTATE AlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(3),281(80,160),1,1) ------*/ case 22: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bWakeMinButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),392(65,25),1,1) ------*/ case 4: xGRSetSymbol(4); if ( xBreakBefore(VarP, xFileName, 3085, 23, (int)1) ) return; /*----- * ASSIGNMENT AlarmMinute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),389(65,40),1,1) ------*/ case 23: (yVarP->z056_AlarmMinute = ((yVarP-> z056_AlarmMinute)+(1))); xTraceAssign("AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 3104, 24, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),386(15,60),1,1) ------*/ case 24: (yDcn_SDL_Boolean = ((yVarP-> z056_AlarmMinute)>(59))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 3124, 25, (int)1) ) return; /*----- * ASSIGNMENT AlarmHour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),383(15,80),1,1) ------*/ case 25: (yVarP->z057_AlarmHour = ((yVarP-> z057_AlarmHour)+(1))); xTraceAssign("AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 3143, 26, (int)0) ) return; /*----- * ASSIGNMENT AlarmMinute := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),383(15,80),2,1) ------*/ case 26: (yVarP->z056_AlarmMinute = ((yVarP-> z056_AlarmMinute)-(60))); xTraceAssign("AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmMinute := ", &(yVarP->z056_AlarmMinute), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 3162, 27, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),380(15,95),1,1) ------*/ case 27: (yDcn_SDL_Boolean = ((yVarP-> z057_AlarmHour)>(23))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 3183, 28, (int)1) ) return; /*----- * ASSIGNMENT AlarmHour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),377(15,115),1,1) ------*/ case 28: (yVarP->z057_AlarmHour = 0); xTraceAssign("AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); } else { } } else { } if ( xBreakBefore(VarP, xFileName, 3206, 29, (int)1) ) return; /*----- * OUTPUT iCurAlarmTime * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),374(60,145),1,1) ------*/ case 29: yOutputSignal = xGetSignal((&ySigR_z6_iCurAlarmTime), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param1 = yVarP->z057_AlarmHour); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param2 = yVarP->z056_AlarmMinute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 3226, 30, (int)1) ) return; /*----- * NEXTSTATE AlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(4),371(85,160),1,1) ------*/ case 30: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bWakeHourButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(5),461(60,25),1,1) ------*/ case 5: xGRSetSymbol(5); if ( xBreakBefore(VarP, xFileName, 3246, 31, (int)1) ) return; /*----- * ASSIGNMENT AlarmHour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(5),452(60,40),1,1) ------*/ case 31: (yVarP->z057_AlarmHour = ((yVarP-> z057_AlarmHour)+(1))); xTraceAssign("AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 3265, 32, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(5),449(60,55),1,1) ------*/ case 32: (yDcn_SDL_Boolean = ((yVarP->z057_AlarmHour)>(23))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 3285, 33, (int)1) ) return; /*----- * ASSIGNMENT AlarmHour := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(5),446(60,75),1,1) ------*/ case 33: (yVarP->z057_AlarmHour = 0); xTraceAssign("AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "AlarmHour := ", &(yVarP->z057_AlarmHour), (tSDLTypeInfo *)&ySDL_SDL_Integer); } else { } if ( xBreakBefore(VarP, xFileName, 3306, 34, (int)1) ) return; /*----- * OUTPUT iCurAlarmTime * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(5),443(50,100),1,1) ------*/ case 34: yOutputSignal = xGetSignal((&ySigR_z6_iCurAlarmTime), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param1 = yVarP->z057_AlarmHour); (((yPDef_z6_iCurAlarmTime *)yOutputSignal)->Param2 = yVarP->z056_AlarmMinute); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 3326, 35, (int)1) ) return; /*----- * NEXTSTATE AlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(5),440(75,120),1,1) ------*/ case 35: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } } /***** * STATE AlarmIdle * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),122(45,65),1,1) ******/ static xInputAction yStaH_z053_AlarmIdle[] = { (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)0}; static int yStaI_z053_AlarmIdle[] = { 1, 2, 4, 3, 5, 0}; static long int yStaC_z053_AlarmIdle[5+1]; struct xStateIdStruct yStaR_z053_AlarmIdle = { xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z05_AlarmMan, "AlarmIdle" , 1, yStaH_z053_AlarmIdle, yStaI_z053_AlarmIdle, 0, 0, 0 , yStaC_z053_AlarmIdle, (xStateIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmMan.spr(1),122(45,65),1,1)" }; /***** * DCL InputMinute * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),2,1) ******/ struct xVarIdStruct yVarR_z054_InputMinute = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z05_AlarmMan, "InputMinute" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z05_AlarmMan *) 0)->z054_InputMinute), (unsigned)0, 0 }; /***** * DCL InputHour * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),3,1) ******/ struct xVarIdStruct yVarR_z055_InputHour = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z05_AlarmMan, "InputHour" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z05_AlarmMan *) 0)->z055_InputHour), (unsigned)0, 0 }; /***** * DCL AlarmMinute * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),4,1) ******/ struct xVarIdStruct yVarR_z056_AlarmMinute = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z05_AlarmMan, "AlarmMinute" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z05_AlarmMan *) 0)->z056_AlarmMinute), (unsigned)0, 0 }; /***** * DCL AlarmHour * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmMan.spr(1),131(10,25),5,1) ******/ struct xVarIdStruct yVarR_z057_AlarmHour = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z05_AlarmMan, "AlarmHour" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z05_AlarmMan *) 0)->z057_AlarmHour), (unsigned)0, 0 }; /***** * PROCESS ActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr,4,1,9) ******/ long int yPrsC_z06_ActualAlarm[116+1]; xSignalIdNode yPrsS_z06_ActualAlarm[] = { &ySigR_zF_bSnoozeButtonPressed, &ySigR_zG_sTypeRadioSel, &ySigR_zH_sTypeBuzzerSel, &ySigR_zI_sTypeOffSel, &ySigR_zJ_sBuzzerVolume, &ySigR_zE_bSoundActualAlarm, &ySigR_z06A_SNOOZETimer, (xSignalIdNode)0}; xStateIdNode yPrsT_z06_ActualAlarm[] = { &xStartStateIdRec, &yStaR_z069_ActualAlarmIdle}; static xPrsNode yPrsA_z06_ActualAlarm = (xPrsNode)0; static xPrsNode yPrsB_z06_ActualAlarm = (xPrsNode)0; struct xPrsIdStruct yPrsR_z06_ActualAlarm = { xProcessEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "ActualAlarm" , yPrsT_z06_ActualAlarm, yPrsS_z06_ActualAlarm , 0 , yPrsO_z06_ActualAlarm, -1 , 1 , 1, &yPrsB_z06_ActualAlarm, (unsigned)sizeof(yVDef_z06_ActualAlarm) , 100, &yPrsA_z06_ActualAlarm , -1 , -1 , yRef_z06_ActualAlarm , 116 , 7 , -1 , yPrsC_z06_ActualAlarm , 0 , 0, yPAD_z06_ActualAlarm, yFree_z06_ActualAlarm, (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr,4,1,9)" }; static xSignalNode ySigA_z06_ActualAlarm = (xSignalNode)0; struct xSignalIdStruct ySigR_z06_ActualAlarm = { xStartUpSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock , "-" , (unsigned)sizeof(yPDef_z06_ActualAlarm), &ySigA_z06_ActualAlarm, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr,4,1,9)" ,0 }; xIdNode yPrsO_z06_ActualAlarm[] = {(xIdNode)&yChaRR_z0B_CableToActualAlarm, (xIdNode)&yChaRR_z0E_DMA_ToActualAlarm, (xIdNode)&yChaR_z0F_Speaker, (xIdNode)0}; void yFree_z06_ActualAlarm(void *yVarP) { } /*+++++ * GR ref function for process ActualAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr,4,1,20) ++++++*/ char * yRef_z06_ActualAlarm (int SymbolNo, xSymbolType *SymbolType) { switch (SymbolNo) { case 0: *SymbolType = xsStart; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),116(70,15),1,1)"; case 1: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),137(60,90),1,1)"; case 2: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),212(60,25),1,1)"; case 3: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),305(60,25),1,1)"; case 4: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),398(70,30),1,1)"; case 5: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),470(75,30),1,1)"; case 6: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),536(65,25),1,1)"; case 7: *SymbolType = xsInput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(7),644(50,30),1,1)"; case 8: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),1,1)"; case 9: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),2,1)"; case 10: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),3,1)"; case 11: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),4,1)"; case 12: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),5,1)"; case 13: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),6,1)"; case 14: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),7,1)"; case 15: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),8,1)"; case 16: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),122(60,30),9,1)"; case 17: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),131(60,70),1,1)"; case 18: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),146(15,115),1,1)"; case 19: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),152(90,115),1,1)"; case 20: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),167(95,140),1,1)"; case 21: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),167(95,140),2,1)"; case 22: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),167(95,140),3,1)"; case 23: *SymbolType = xsReset; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),167(95,140),4,1)"; case 24: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),176(95,165),1,1)"; case 25: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),158(20,140),1,1)"; case 26: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),158(20,140),2,1)"; case 27: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),158(20,140),3,1)"; case 28: *SymbolType = xsReset; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),158(20,140),4,1)"; case 29: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),173(20,165),1,1)"; case 30: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),185(60,185),1,1)"; case 31: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),218(5,45),1,1)"; case 32: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),230(5,65),1,1)"; case 33: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),239(5,85),1,1)"; case 34: *SymbolType = xsSet; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),239(5,85),2,1)"; case 35: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),245(5,105),1,1)"; case 36: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),251(90,105),1,1)"; case 37: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),260(90,125),1,1)"; case 38: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),272(90,145),1,1)"; case 39: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),257(5,125),1,1)"; case 40: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),269(5,145),1,1)"; case 41: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),281(60,175),1,1)"; case 42: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(2),221(75,50),1,1)"; case 43: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),311(5,40),1,1)"; case 44: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),317(65,45),1,1)"; case 45: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),323(5,60),1,1)"; case 46: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),329(55,65),1,1)"; case 47: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),329(55,65),2,1)"; case 48: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),329(55,65),3,1)"; case 49: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),710(5,85),1,1)"; case 50: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),719(80,100),1,1)"; case 51: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),719(80,100),2,1)"; case 52: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),719(80,100),3,1)"; case 53: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),719(80,100),4,1)"; case 54: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),719(80,100),5,1)"; case 55: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),335(5,110),1,1)"; case 56: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),341(5,125),1,1)"; case 57: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),347(5,140),1,1)"; case 58: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),347(5,140),2,1)"; case 59: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),347(5,140),3,1)"; case 60: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),347(5,140),4,1)"; case 61: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),347(5,140),5,1)"; case 62: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(3),353(50,170),1,1)"; case 63: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),395(15,45),1,1)"; case 64: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),392(75,50),1,1)"; case 65: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),389(15,65),1,1)"; case 66: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),386(65,70),1,1)"; case 67: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),386(65,70),2,1)"; case 68: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),386(65,70),3,1)"; case 69: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),728(15,90),1,1)"; case 70: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),737(90,105),1,1)"; case 71: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),737(90,105),2,1)"; case 72: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),737(90,105),3,1)"; case 73: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),737(90,105),4,1)"; case 74: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),737(90,105),5,1)"; case 75: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),383(15,115),1,1)"; case 76: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),380(15,130),1,1)"; case 77: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),377(15,145),1,1)"; case 78: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),377(15,145),2,1)"; case 79: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),377(15,145),3,1)"; case 80: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),377(15,145),4,1)"; case 81: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),377(15,145),5,1)"; case 82: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(4),374(60,175),1,1)"; case 83: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),467(20,45),1,1)"; case 84: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),464(80,50),1,1)"; case 85: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),461(20,65),1,1)"; case 86: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),458(70,70),1,1)"; case 87: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),458(70,70),2,1)"; case 88: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),458(70,70),3,1)"; case 89: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),506(20,85),1,1)"; case 90: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),452(25,110),1,1)"; case 91: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),455(110,110),1,1)"; case 92: *SymbolType = xsReset; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),1,1)"; case 93: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),2,1)"; case 94: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),3,1)"; case 95: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),4,1)"; case 96: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),5,1)"; case 97: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),6,1)"; case 98: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),7,1)"; case 99: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),449(20,140),8,1)"; case 100: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(5),446(65,175),1,1)"; case 101: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),560(65,40),1,1)"; case 102: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),554(5,60),1,1)"; case 103: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),566(70,60),1,1)"; case 104: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),575(5,85),1,1)"; case 105: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),578(90,85),1,1)"; case 106: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),593(90,110),1,1)"; case 107: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),605(90,125),1,1)"; case 108: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),590(5,110),1,1)"; case 109: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),602(5,125),1,1)"; case 110: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(6),614(60,150),1,1)"; case 111: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(7),650(55,45),1,1)"; case 112: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(7),653(55,70),1,1)"; case 113: *SymbolType = xsAssignmentStatement; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(7),656(55,95),1,1)"; case 114: *SymbolType = xsDecision; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(7),671(55,110),1,1)"; case 115: *SymbolType = xsOutput; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(7),689(55,135),1,1)"; case 116: *SymbolType = xsNextstate; return "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(7),695(65,160),1,1)"; default : *SymbolType = xsNoSuchSymbolType; return ""; } } /*+++++ * Function for process ActualAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr,4,1,20) ++++++*/ extern void yPAD_z06_ActualAlarm (xPrsNode VarP) { void *ySVarP = VarP->Signal; register yVDef_z06_ActualAlarm * yVarP = (yVDef_z06_ActualAlarm *)VarP; xPrdNode yTempPrd; xSignalNode yOutputSignal; SDL_Boolean yDcn_SDL_Boolean; switch (yVarP->RestartAddress) { /*----- * START * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),116(70,15),1,1) ------*/ case 0: xGRSetSymbol(0); if ( xBreakBefore(VarP, xFileName, 3730, 8, (int)1) ) return; /*----- * ASSIGNMENT ActivateAlarm := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),1,1) ------*/ case 8: (yVarP->z06B_ActivateAlarm = 0); xTraceAssign("ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3748, 9, (int)0) ) return; /*----- * ASSIGNMENT ActivateSnooze := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),2,1) ------*/ case 9: (yVarP->z06C_ActivateSnooze = 0); xTraceAssign("ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3766, 10, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),3,1) ------*/ case 10: (yVarP->z06D_AlarmTypeRadio = 0); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3784, 11, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),4,1) ------*/ case 11: (yVarP->z06E_AlarmTypeBuzzer = 0); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3802, 12, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),5,1) ------*/ case 12: (yVarP->z06F_AlarmTypeOff = 1); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3820, 13, (int)0) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),6,1) ------*/ case 13: (yVarP->z06G_RadioIsOn = 0); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3838, 14, (int)0) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),7,1) ------*/ case 14: (yVarP->z06H_BuzzerIsOn = 0); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3856, 15, (int)0) ) return; /*----- * ASSIGNMENT SnoozeDelay := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),8,1) ------*/ case 15: (yVarP->z06I_SnoozeDelay = SDL_Duration_Lit((int)(300),(int)(0))); xTraceAssign("SnoozeDelay := ", &(yVarP->z06I_SnoozeDelay), (tSDLTypeInfo *)&ySDL_SDL_Duration); xMSCEAssign(VarP, "SnoozeDelay := ", &(yVarP->z06I_SnoozeDelay), (tSDLTypeInfo *)&ySDL_SDL_Duration); if ( xBreakBefore(VarP, xFileName, 3875, 16, (int)0) ) return; /*----- * ASSIGNMENT BuzzerVolume := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),122(60,30),9,1) ------*/ case 16: (yVarP->z06K_BuzzerVolume = 1); xTraceAssign("BuzzerVolume := ", &(yVarP->z06K_BuzzerVolume), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "BuzzerVolume := ", &(yVarP->z06K_BuzzerVolume), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 3894, 17, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),131(60,70),1,1) ------*/ case 17: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bSoundActualAlarm * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),137(60,90),1,1) ------*/ case 1: xGRSetSymbol(1); if ( xBreakBefore(VarP, xFileName, 3914, 18, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),146(15,115),1,1) ------*/ case 18: (yDcn_SDL_Boolean = yVarP->z06E_AlarmTypeBuzzer); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 3934, 25, (int)1) ) return; /*----- * ASSIGNMENT ActivateAlarm := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),158(20,140),1,1) ------*/ case 25: (yVarP->z06B_ActivateAlarm = 1); xTraceAssign("ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3952, 26, (int)0) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),158(20,140),2,1) ------*/ case 26: (yVarP->z06H_BuzzerIsOn = 1); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3970, 27, (int)0) ) return; /*----- * ASSIGNMENT ActivateSnooze := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),158(20,140),3,1) ------*/ case 27: (yVarP->z06C_ActivateSnooze = 0); xTraceAssign("ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 3988, 28, (int)0) ) return; /*----- * RESET SNOOZETimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),158(20,140),4,1) ------*/ case 28: SDL_SimpleReset(&yVarP->yTim_SNOOZETimer, (&ySigR_z06A_SNOOZETimer)); if ( xBreakBefore(VarP, xFileName, 3999, 29, (int)1) ) return; /*----- * OUTPUT aBuzzerOn * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),173(20,165),1,1) ------*/ case 29: yOutputSignal = xGetSignal((&ySigR_zM_aBuzzerOn), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_zM_aBuzzerOn *)yOutputSignal)->Param1 = yVarP->z06K_BuzzerVolume); SDL_Output(yOutputSignal, (xIdNode *)0); } else { if ( xBreakBefore(VarP, xFileName, 4018, 19, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),152(90,115),1,1) ------*/ case 19: (yDcn_SDL_Boolean = yVarP->z06D_AlarmTypeRadio); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4039, 20, (int)1) ) return; /*----- * ASSIGNMENT ActivateAlarm := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),167(95,140),1,1) ------*/ case 20: (yVarP->z06B_ActivateAlarm = 1); xTraceAssign("ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4057, 21, (int)0) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),167(95,140),2,1) ------*/ case 21: (yVarP->z06G_RadioIsOn = 1); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4075, 22, (int)0) ) return; /*----- * ASSIGNMENT ActivateSnooze := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),167(95,140),3,1) ------*/ case 22: (yVarP->z06C_ActivateSnooze = 0); xTraceAssign("ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4094, 23, (int)0) ) return; /*----- * RESET SNOOZETimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),167(95,140),4,1) ------*/ case 23: SDL_SimpleReset(&yVarP->yTim_SNOOZETimer, (&ySigR_z06A_SNOOZETimer)); if ( xBreakBefore(VarP, xFileName, 4105, 24, (int)1) ) return; /*----- * OUTPUT aRadioOn * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),176(95,165),1,1) ------*/ case 24: yOutputSignal = xGetSignal((&ySigR_zK_aRadioOn), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); } else { } } if ( xBreakBefore(VarP, xFileName, 4123, 30, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),185(60,185),1,1) ------*/ case 30: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT bSnoozeButtonPressed * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),212(60,25),1,1) ------*/ case 2: xGRSetSymbol(2); if ( xBreakBefore(VarP, xFileName, 4143, 31, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),218(5,45),1,1) ------*/ case 31: (yDcn_SDL_Boolean = ((yVarP-> z06B_ActivateAlarm) == (1))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4163, 32, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),230(5,65),1,1) ------*/ case 32: (yDcn_SDL_Boolean = ((yVarP-> z06C_ActivateSnooze) == (0))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4184, 33, (int)1) ) return; /*----- * ASSIGNMENT ActivateSnooze := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),239(5,85),1,1) ------*/ case 33: (yVarP->z06C_ActivateSnooze = 1); xTraceAssign("ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4202, 34, (int)0) ) return; /*----- * SET SNOOZETimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),239(5,85),2,1) ------*/ case 34: SDL_SimpleSet(xPlus_SDL_Duration(SDL_Now(), yVarP->z06I_SnoozeDelay), &yVarP->yTim_SNOOZETimer, (&ySigR_z06A_SNOOZETimer), VarP); if ( xBreakBefore(VarP, xFileName, 4214, 35, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),245(5,105),1,1) ------*/ case 35: (yDcn_SDL_Boolean = yVarP->z06G_RadioIsOn); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4235, 39, (int)1) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),257(5,125),1,1) ------*/ case 39: (yVarP->z06G_RadioIsOn = 0); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4253, 40, (int)1) ) return; /*----- * OUTPUT aRadioOff * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),269(5,145),1,1) ------*/ case 40: yOutputSignal = xGetSignal((&ySigR_zL_aRadioOff), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); } else { if ( xBreakBefore(VarP, xFileName, 4269, 36, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),251(90,105),1,1) ------*/ case 36: (yDcn_SDL_Boolean = yVarP->z06H_BuzzerIsOn); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4291, 37, (int)1) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),260(90,125),1,1) ------*/ case 37: (yVarP->z06H_BuzzerIsOn = 0); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4310, 38, (int)1) ) return; /*----- * OUTPUT aBuzzerOff * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),272(90,145),1,1) ------*/ case 38: yOutputSignal = xGetSignal((&ySigR_zN_aBuzzerOff), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); } else { } } if ( xBreakBefore(VarP, xFileName, 4329, 41, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),281(60,175),1,1) ------*/ case 41: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } else { } } else { } if ( xBreakBefore(VarP, xFileName, 4344, 42, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(2),221(75,50),1,1) ------*/ case 42: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; /*----- * INPUT sTypeRadioSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),305(60,25),1,1) ------*/ case 3: xGRSetSymbol(3); if ( xBreakBefore(VarP, xFileName, 4364, 43, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),311(5,40),1,1) ------*/ case 43: (yDcn_SDL_Boolean = yVarP->z06D_AlarmTypeRadio); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4384, 44, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),317(65,45),1,1) ------*/ case 44: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } else { if ( xBreakBefore(VarP, xFileName, 4396, 45, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),323(5,60),1,1) ------*/ case 45: (yDcn_SDL_Boolean = yVarP->z06B_ActivateAlarm); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4417, 49, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),710(5,85),1,1) ------*/ case 49: (yDcn_SDL_Boolean = ((yVarP-> z06C_ActivateSnooze) == (0))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4438, 55, (int)1) ) return; /*----- * OUTPUT aBuzzerOff * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),335(5,110),1,1) ------*/ case 55: yOutputSignal = xGetSignal((&ySigR_zN_aBuzzerOff), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 4453, 56, (int)1) ) return; /*----- * OUTPUT aRadioOn * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),341(5,125),1,1) ------*/ case 56: yOutputSignal = xGetSignal((&ySigR_zK_aRadioOn), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 4468, 57, (int)1) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),347(5,140),1,1) ------*/ case 57: (yVarP->z06D_AlarmTypeRadio = 1); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP-> z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4487, 58, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),347(5,140),2,1) ------*/ case 58: (yVarP->z06E_AlarmTypeBuzzer = 0); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4506, 59, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),347(5,140),3,1) ------*/ case 59: (yVarP->z06F_AlarmTypeOff = 0); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4525, 60, (int)0) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),347(5,140),4,1) ------*/ case 60: (yVarP->z06G_RadioIsOn = 1); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4543, 61, (int)0) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),347(5,140),5,1) ------*/ case 61: (yVarP->z06H_BuzzerIsOn = 0); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } else { if ( xBreakBefore(VarP, xFileName, 4562, 50, (int)1) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),719(80,100),1,1) ------*/ case 50: (yVarP->z06D_AlarmTypeRadio = 1); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP-> z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4581, 51, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),719(80,100),2,1) ------*/ case 51: (yVarP->z06E_AlarmTypeBuzzer = 0); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4600, 52, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),719(80,100),3,1) ------*/ case 52: (yVarP->z06F_AlarmTypeOff = 0); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4619, 53, (int)0) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),719(80,100),4,1) ------*/ case 53: (yVarP->z06G_RadioIsOn = 1); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4637, 54, (int)0) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),719(80,100),5,1) ------*/ case 54: (yVarP->z06H_BuzzerIsOn = 0); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } } else { if ( xBreakBefore(VarP, xFileName, 4657, 46, (int)1) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),329(55,65),1,1) ------*/ case 46: (yVarP->z06D_AlarmTypeRadio = 1); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4675, 47, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),329(55,65),2,1) ------*/ case 47: (yVarP->z06E_AlarmTypeBuzzer = 0); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4694, 48, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),329(55,65),3,1) ------*/ case 48: (yVarP->z06F_AlarmTypeOff = 0); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } if ( xBreakBefore(VarP, xFileName, 4713, 62, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(3),353(50,170),1,1) ------*/ case 62: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } /*----- * INPUT sTypeBuzzerSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),398(70,30),1,1) ------*/ case 4: xGRSetSymbol(4); if ( xBreakBefore(VarP, xFileName, 4734, 63, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),395(15,45),1,1) ------*/ case 63: (yDcn_SDL_Boolean = yVarP->z06E_AlarmTypeBuzzer); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4754, 64, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),392(75,50),1,1) ------*/ case 64: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } else { if ( xBreakBefore(VarP, xFileName, 4766, 65, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),389(15,65),1,1) ------*/ case 65: (yDcn_SDL_Boolean = yVarP->z06B_ActivateAlarm); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4787, 69, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),728(15,90),1,1) ------*/ case 69: (yDcn_SDL_Boolean = ((yVarP-> z06C_ActivateSnooze) == (0))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 4808, 75, (int)1) ) return; /*----- * OUTPUT aRadioOff * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),383(15,115),1,1) ------*/ case 75: yOutputSignal = xGetSignal((&ySigR_zL_aRadioOff), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 4823, 76, (int)1) ) return; /*----- * OUTPUT aBuzzerOn * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),380(15,130),1,1) ------*/ case 76: yOutputSignal = xGetSignal((&ySigR_zM_aBuzzerOn), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_zM_aBuzzerOn *)yOutputSignal)->Param1 = yVarP->z06K_BuzzerVolume); SDL_Output(yOutputSignal, (xIdNode *)0); if ( xBreakBefore(VarP, xFileName, 4841, 77, (int)1) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),377(15,145),1,1) ------*/ case 77: (yVarP->z06D_AlarmTypeRadio = 0); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP-> z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4860, 78, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),377(15,145),2,1) ------*/ case 78: (yVarP->z06E_AlarmTypeBuzzer = 1); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4879, 79, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),377(15,145),3,1) ------*/ case 79: (yVarP->z06F_AlarmTypeOff = 0); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4898, 80, (int)0) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),377(15,145),4,1) ------*/ case 80: (yVarP->z06G_RadioIsOn = 0); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4916, 81, (int)0) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),377(15,145),5,1) ------*/ case 81: (yVarP->z06H_BuzzerIsOn = 1); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } else { if ( xBreakBefore(VarP, xFileName, 4935, 70, (int)1) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),737(90,105),1,1) ------*/ case 70: (yVarP->z06D_AlarmTypeRadio = 0); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP-> z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4954, 71, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),737(90,105),2,1) ------*/ case 71: (yVarP->z06E_AlarmTypeBuzzer = 1); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4973, 72, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),737(90,105),3,1) ------*/ case 72: (yVarP->z06F_AlarmTypeOff = 0); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 4992, 73, (int)0) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),737(90,105),4,1) ------*/ case 73: (yVarP->z06G_RadioIsOn = 0); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5010, 74, (int)0) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),737(90,105),5,1) ------*/ case 74: (yVarP->z06H_BuzzerIsOn = 1); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } } else { if ( xBreakBefore(VarP, xFileName, 5030, 66, (int)1) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),386(65,70),1,1) ------*/ case 66: (yVarP->z06D_AlarmTypeRadio = 0); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5049, 67, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),386(65,70),2,1) ------*/ case 67: (yVarP->z06E_AlarmTypeBuzzer = 1); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5068, 68, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),386(65,70),3,1) ------*/ case 68: (yVarP->z06F_AlarmTypeOff = 0); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } if ( xBreakBefore(VarP, xFileName, 5087, 82, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(4),374(60,175),1,1) ------*/ case 82: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } /*----- * INPUT sTypeOffSel * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),470(75,30),1,1) ------*/ case 5: xGRSetSymbol(5); if ( xBreakBefore(VarP, xFileName, 5108, 83, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),467(20,45),1,1) ------*/ case 83: (yDcn_SDL_Boolean = yVarP->z06F_AlarmTypeOff); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5128, 84, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),464(80,50),1,1) ------*/ case 84: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } else { if ( xBreakBefore(VarP, xFileName, 5140, 85, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),461(20,65),1,1) ------*/ case 85: (yDcn_SDL_Boolean = yVarP->z06B_ActivateAlarm); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5161, 89, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),506(20,85),1,1) ------*/ case 89: (yDcn_SDL_Boolean = yVarP->z06D_AlarmTypeRadio); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5182, 90, (int)1) ) return; /*----- * OUTPUT aRadioOff * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),452(25,110),1,1) ------*/ case 90: yOutputSignal = xGetSignal((&ySigR_zL_aRadioOff), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); } else { if ( xBreakBefore(VarP, xFileName, 5198, 91, (int)1) ) return; /*----- * OUTPUT aBuzzerOff * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),455(110,110),1,1) ------*/ case 91: yOutputSignal = xGetSignal((&ySigR_zN_aBuzzerOff), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); } if ( xBreakBefore(VarP, xFileName, 5214, 92, (int)1) ) return; /*----- * RESET SNOOZETimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),1,1) ------*/ case 92: SDL_SimpleReset(&yVarP->yTim_SNOOZETimer, (&ySigR_z06A_SNOOZETimer)); if ( xBreakBefore(VarP, xFileName, 5225, 93, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),2,1) ------*/ case 93: (yVarP->z06D_AlarmTypeRadio = 0); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5244, 94, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),3,1) ------*/ case 94: (yVarP->z06E_AlarmTypeBuzzer = 0); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5263, 95, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),4,1) ------*/ case 95: (yVarP->z06F_AlarmTypeOff = 1); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5281, 96, (int)0) ) return; /*----- * ASSIGNMENT ActivateAlarm := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),5,1) ------*/ case 96: (yVarP->z06B_ActivateAlarm = 0); xTraceAssign("ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateAlarm := ", &(yVarP->z06B_ActivateAlarm), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5299, 97, (int)0) ) return; /*----- * ASSIGNMENT ActivateSnooze := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),6,1) ------*/ case 97: (yVarP->z06C_ActivateSnooze = 0); xTraceAssign("ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5318, 98, (int)0) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),7,1) ------*/ case 98: (yVarP->z06G_RadioIsOn = 0); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5336, 99, (int)0) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),449(20,140),8,1) ------*/ case 99: (yVarP->z06H_BuzzerIsOn = 0); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } else { if ( xBreakBefore(VarP, xFileName, 5355, 86, (int)1) ) return; /*----- * ASSIGNMENT AlarmTypeRadio := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),458(70,70),1,1) ------*/ case 86: (yVarP->z06D_AlarmTypeRadio = 0); xTraceAssign("AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeRadio := ", &(yVarP->z06D_AlarmTypeRadio), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5374, 87, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeBuzzer := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),458(70,70),2,1) ------*/ case 87: (yVarP->z06E_AlarmTypeBuzzer = 0); xTraceAssign("AlarmTypeBuzzer := ", &(yVarP->z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeBuzzer := ", &(yVarP-> z06E_AlarmTypeBuzzer), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5393, 88, (int)0) ) return; /*----- * ASSIGNMENT AlarmTypeOff := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),458(70,70),3,1) ------*/ case 88: (yVarP->z06F_AlarmTypeOff = 1); xTraceAssign("AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "AlarmTypeOff := ", &(yVarP->z06F_AlarmTypeOff), (tSDLTypeInfo *)&ySDL_SDL_Boolean); } if ( xBreakBefore(VarP, xFileName, 5412, 100, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(5),446(65,175),1,1) ------*/ case 100: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } /*----- * INPUT SNOOZETimer * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),536(65,25),1,1) ------*/ case 6: xGRSetSymbol(6); yVarP->yTim_SNOOZETimer = 0; if ( xBreakBefore(VarP, xFileName, 5434, 101, (int)1) ) return; /*----- * ASSIGNMENT ActivateSnooze := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),560(65,40),1,1) ------*/ case 101: (yVarP->z06C_ActivateSnooze = 0); xTraceAssign("ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "ActivateSnooze := ", &(yVarP->z06C_ActivateSnooze), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5452, 102, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),554(5,60),1,1) ------*/ case 102: (yDcn_SDL_Boolean = yVarP->z06B_ActivateAlarm); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5472, 104, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),575(5,85),1,1) ------*/ case 104: (yDcn_SDL_Boolean = yVarP->z06D_AlarmTypeRadio); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5493, 108, (int)1) ) return; /*----- * ASSIGNMENT RadioIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),590(5,110),1,1) ------*/ case 108: (yVarP->z06G_RadioIsOn = 1); xTraceAssign("RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "RadioIsOn := ", &(yVarP->z06G_RadioIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5511, 109, (int)1) ) return; /*----- * OUTPUT aRadioOn * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),602(5,125),1,1) ------*/ case 109: yOutputSignal = xGetSignal((&ySigR_zK_aRadioOn), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); SDL_Output(yOutputSignal, (xIdNode *)0); } else { if ( xBreakBefore(VarP, xFileName, 5527, 105, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),578(90,85),1,1) ------*/ case 105: (yDcn_SDL_Boolean = yVarP->z06E_AlarmTypeBuzzer); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5548, 106, (int)1) ) return; /*----- * ASSIGNMENT BuzzerIsOn := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),593(90,110),1,1) ------*/ case 106: (yVarP->z06H_BuzzerIsOn = 1); xTraceAssign("BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEAssign(VarP, "BuzzerIsOn := ", &(yVarP->z06H_BuzzerIsOn), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if ( xBreakBefore(VarP, xFileName, 5566, 107, (int)1) ) return; /*----- * OUTPUT aBuzzerOn * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),605(90,125),1,1) ------*/ case 107: yOutputSignal = xGetSignal((&ySigR_zM_aBuzzerOn), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_zM_aBuzzerOn *)yOutputSignal)->Param1 = yVarP->z06K_BuzzerVolume); SDL_Output(yOutputSignal, (xIdNode *)0); } else { } } if ( xBreakBefore(VarP, xFileName, 5587, 110, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),614(60,150),1,1) ------*/ case 110: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } else { if ( xBreakBefore(VarP, xFileName, 5599, 103, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(6),566(70,60),1,1) ------*/ case 103: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } /*----- * INPUT sBuzzerVolume * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(7),644(50,30),1,1) ------*/ case 7: xGRSetSymbol(7); (yVarP->z06J_TestVol = ((yPDef_zJ_sBuzzerVolume *)ySVarP)-> Param1); if ( xBreakBefore(VarP, xFileName, 5622, 111, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(7),650(55,45),1,1) ------*/ case 111: (yDcn_SDL_Boolean = ((yVarP->z06J_TestVol)>(0))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5642, 112, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(7),653(55,70),1,1) ------*/ case 112: (yDcn_SDL_Boolean = ((yVarP->z06J_TestVol)<(4))); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5663, 113, (int)1) ) return; /*----- * ASSIGNMENT BuzzerVolume := ... * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(7),656(55,95),1,1) ------*/ case 113: (yVarP->z06K_BuzzerVolume = yVarP->z06J_TestVol); xTraceAssign("BuzzerVolume := ", &(yVarP->z06K_BuzzerVolume), (tSDLTypeInfo *)&ySDL_SDL_Integer); xMSCEAssign(VarP, "BuzzerVolume := ", &(yVarP->z06K_BuzzerVolume), (tSDLTypeInfo *)&ySDL_SDL_Integer); if ( xBreakBefore(VarP, xFileName, 5682, 114, (int)1) ) return; /*----- * DECISION * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(7),671(55,110),1,1) ------*/ case 114: (yDcn_SDL_Boolean = yVarP->z06H_BuzzerIsOn); xTraceDecision(&(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); xMSCEDecision(VarP, &(yDcn_SDL_Boolean), (tSDLTypeInfo *)&ySDL_SDL_Boolean); if (yDcn_SDL_Boolean) { if ( xBreakBefore(VarP, xFileName, 5703, 115, (int)1) ) return; /*----- * OUTPUT aBuzzerOn * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(7),689(55,135),1,1) ------*/ case 115: yOutputSignal = xGetSignal((&ySigR_zM_aBuzzerOn), ( *(&yEnvR_env)->ActivePrsList != (xPrsNode)0 ? (*(&yEnvR_env)->ActivePrsList)->Self : SDL_NULL ), yVarP->Self); (((yPDef_zM_aBuzzerOn *)yOutputSignal)->Param1 = yVarP->z06K_BuzzerVolume); SDL_Output(yOutputSignal, (xIdNode *)0); } else { } } else { } } else { } if ( xBreakBefore(VarP, xFileName, 5727, 116, (int)1) ) return; /*----- * NEXTSTATE ActualAlarmIdle * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(7),695(65,160),1,1) ------*/ case 116: xGRSetSymbol(-1); SDL_NextState(VarP, 1); return; } } /***** * STATE ActualAlarmIdle * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),131(60,70),1,1) ******/ static xInputAction yStaH_z069_ActualAlarmIdle[] = { (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)1, (xInputAction)0}; static int yStaI_z069_ActualAlarmIdle[] = { 2, 3, 4, 5, 7, 1, 6, 0}; static long int yStaC_z069_ActualAlarmIdle[7+1]; struct xStateIdStruct yStaR_z069_ActualAlarmIdle = { xStateEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "ActualAlarmIdle" , 1, yStaH_z069_ActualAlarmIdle, yStaI_z069_ActualAlarmIdle, 0, 0, 0 , yStaC_z069_ActualAlarmIdle, (xStateIdNode)0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),131(60,70),1,1)" }; /***** * TIMER SNOOZETimer * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),1,7) ******/ struct xSignalIdStruct ySigR_z06A_SNOOZETimer = { xTimerEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "SNOOZETimer" , (unsigned)sizeof(xTimerRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\ActualAlarm.spr(1),119(5,25),1,7)" ,((unsigned) &((yVDef_z06_ActualAlarm *) 0)->yTim_SNOOZETimer) }; /***** * DCL ActivateAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),3,1) ******/ struct xVarIdStruct yVarR_z06B_ActivateAlarm = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "ActivateAlarm" , &xSrtR_SDL_Boolean, (tSDLTypeInfo *)&ySDL_SDL_Boolean, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06B_ActivateAlarm), (unsigned)0, 0 }; /***** * DCL ActivateSnooze * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),4,1) ******/ struct xVarIdStruct yVarR_z06C_ActivateSnooze = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "ActivateSnooze" , &xSrtR_SDL_Boolean, (tSDLTypeInfo *)&ySDL_SDL_Boolean, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06C_ActivateSnooze), (unsigned)0, 0 }; /***** * DCL AlarmTypeRadio * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),5,1) ******/ struct xVarIdStruct yVarR_z06D_AlarmTypeRadio = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "AlarmTypeRadio" , &xSrtR_SDL_Boolean, (tSDLTypeInfo *)&ySDL_SDL_Boolean, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06D_AlarmTypeRadio), (unsigned)0, 0 }; /***** * DCL AlarmTypeBuzzer * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),6,1) ******/ struct xVarIdStruct yVarR_z06E_AlarmTypeBuzzer = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "AlarmTypeBuzzer" , &xSrtR_SDL_Boolean, (tSDLTypeInfo *)&ySDL_SDL_Boolean, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06E_AlarmTypeBuzzer), (unsigned)0, 0 }; /***** * DCL AlarmTypeOff * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),7,1) ******/ struct xVarIdStruct yVarR_z06F_AlarmTypeOff = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "AlarmTypeOff" , &xSrtR_SDL_Boolean, (tSDLTypeInfo *)&ySDL_SDL_Boolean, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06F_AlarmTypeOff), (unsigned)0, 0 }; /***** * DCL RadioIsOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),8,1) ******/ struct xVarIdStruct yVarR_z06G_RadioIsOn = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "RadioIsOn" , &xSrtR_SDL_Boolean, (tSDLTypeInfo *)&ySDL_SDL_Boolean, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06G_RadioIsOn), (unsigned)0, 0 }; /***** * DCL BuzzerIsOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),9,1) ******/ struct xVarIdStruct yVarR_z06H_BuzzerIsOn = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "BuzzerIsOn" , &xSrtR_SDL_Boolean, (tSDLTypeInfo *)&ySDL_SDL_Boolean, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06H_BuzzerIsOn), (unsigned)0, 0 }; /***** * DCL SnoozeDelay * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),10,1) ******/ struct xVarIdStruct yVarR_z06I_SnoozeDelay = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "SnoozeDelay" , &xSrtR_SDL_Duration, (tSDLTypeInfo *)&ySDL_SDL_Duration, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06I_SnoozeDelay), (unsigned)0, 0 }; /***** * DCL TestVol * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),12,1) ******/ struct xVarIdStruct yVarR_z06J_TestVol = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "TestVol" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06J_TestVol), (unsigned)0, 0 }; /***** * DCL BuzzerVolume * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\ActualAlarm.spr(1),119(5,25),13,1) ******/ struct xVarIdStruct yVarR_z06K_BuzzerVolume = { xVariableEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yPrsR_z06_ActualAlarm, "BuzzerVolume" , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yVDef_z06_ActualAlarm *) 0)->z06K_BuzzerVolume), (unsigned)0, 0 }; /***** * SIGNALROUTE TimeToShow * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),122(55,25),1,1) ******/ static xSignalIdNode yChaS_z07_TimeToShow[] = { &ySigR_z4_iTimeToShow, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z07_TimeToShow[] = { (xSignalIdNode)0}; xIdNode yChaO_z07_TimeToShow[] = { (xIdNode)&yChaR_z1_TimeToShow, (xIdNode)0}; xIdNode yChaOR_z07_TimeToShow[] = { (xIdNode)&yPrsR_z03_TimeUpdater, (xIdNode)0}; struct xChannelIdStruct yChaR_z07_TimeToShow = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "TimeToShow" , yChaS_z07_TimeToShow, yChaO_z07_TimeToShow, &yChaRR_z07_TimeToShow }; struct xChannelIdStruct yChaRR_z07_TimeToShow = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "TimeToShow" , yChaSR_z07_TimeToShow, yChaOR_z07_TimeToShow, &yChaR_z07_TimeToShow }; /***** * SIGNALROUTE DMA_ToAlarmMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),170(139,95),1,1) ******/ static xSignalIdNode yChaS_z08_DMA_ToAlarmMan[] = { &ySigR_z5_iTimeToAlarm, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z08_DMA_ToAlarmMan[] = { (xSignalIdNode)0}; xIdNode yChaO_z08_DMA_ToAlarmMan[] = { (xIdNode)&yPrsR_z05_AlarmMan, (xIdNode)0}; xIdNode yChaOR_z08_DMA_ToAlarmMan[] = { (xIdNode)&yPrsR_z03_TimeUpdater, (xIdNode)0}; struct xChannelIdStruct yChaR_z08_DMA_ToAlarmMan = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "DMA_ToAlarmMan" , yChaS_z08_DMA_ToAlarmMan, yChaO_z08_DMA_ToAlarmMan, &yChaRR_z08_DMA_ToAlarmMan }; struct xChannelIdStruct yChaRR_z08_DMA_ToAlarmMan = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "DMA_ToAlarmMan" , yChaSR_z08_DMA_ToAlarmMan, yChaOR_z08_DMA_ToAlarmMan, &yChaR_z08_DMA_ToAlarmMan }; /***** * SIGNALROUTE CableToTimeUpdater * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),146(100,59),1,1) ******/ static xSignalIdNode yChaS_z09_CableToTimeUpdater[] = {&ySigR_z7_bMinButtonPressed, &ySigR_z8_bMin10ButtonPressed, &ySigR_z9_bHourButtonPressed, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z09_CableToTimeUpdater[] = { (xSignalIdNode)0}; xIdNode yChaO_z09_CableToTimeUpdater[] = {(xIdNode)&yPrsR_z03_TimeUpdater, (xIdNode)0}; xIdNode yChaOR_z09_CableToTimeUpdater[] = { (xIdNode)&yPrsR_z04_InputMan, (xIdNode)0}; struct xChannelIdStruct yChaR_z09_CableToTimeUpdater = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "CableToTimeUpdater" , yChaS_z09_CableToTimeUpdater, yChaO_z09_CableToTimeUpdater, &yChaRR_z09_CableToTimeUpdater }; struct xChannelIdStruct yChaRR_z09_CableToTimeUpdater = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "CableToTimeUpdater" , yChaSR_z09_CableToTimeUpdater, yChaOR_z09_CableToTimeUpdater, &yChaR_z09_CableToTimeUpdater }; /***** * SIGNALROUTE InputReceived * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),137(47,75),1,1) ******/ static xSignalIdNode yChaS_z0A_InputReceived[] = {&ySigR_z7_bMinButtonPressed, &ySigR_z8_bMin10ButtonPressed, &ySigR_z9_bHourButtonPressed, &ySigR_zA_bWakeButtonPressed, &ySigR_zB_bWakeMinButtonPressed, &ySigR_zC_bWakeMin10ButtonPressed, &ySigR_zD_bWakeHourButtonPressed, &ySigR_zF_bSnoozeButtonPressed, &ySigR_zG_sTypeRadioSel, &ySigR_zH_sTypeBuzzerSel, &ySigR_zI_sTypeOffSel, &ySigR_zJ_sBuzzerVolume, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z0A_InputReceived[] = { (xSignalIdNode)0}; xIdNode yChaO_z0A_InputReceived[] = { (xIdNode)&yPrsR_z04_InputMan, (xIdNode)0}; xIdNode yChaOR_z0A_InputReceived[] = { (xIdNode)&yChaRR_z2_InputReceived, (xIdNode)0}; struct xChannelIdStruct yChaR_z0A_InputReceived = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "InputReceived" , yChaS_z0A_InputReceived, yChaO_z0A_InputReceived, &yChaRR_z0A_InputReceived }; struct xChannelIdStruct yChaRR_z0A_InputReceived = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "InputReceived" , yChaSR_z0A_InputReceived, yChaOR_z0A_InputReceived, &yChaR_z0A_InputReceived }; /***** * SIGNALROUTE CableToActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),299(72,165),1,1) ******/ static xSignalIdNode yChaS_z0B_CableToActualAlarm[] = {&ySigR_zF_bSnoozeButtonPressed, &ySigR_zG_sTypeRadioSel, &ySigR_zH_sTypeBuzzerSel, &ySigR_zI_sTypeOffSel, &ySigR_zJ_sBuzzerVolume, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z0B_CableToActualAlarm[] = { (xSignalIdNode)0}; xIdNode yChaO_z0B_CableToActualAlarm[] = {(xIdNode)&yPrsR_z06_ActualAlarm, (xIdNode)0}; xIdNode yChaOR_z0B_CableToActualAlarm[] = { (xIdNode)&yPrsR_z04_InputMan, (xIdNode)0}; struct xChannelIdStruct yChaR_z0B_CableToActualAlarm = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "CableToActualAlarm" , yChaS_z0B_CableToActualAlarm, yChaO_z0B_CableToActualAlarm, &yChaRR_z0B_CableToActualAlarm }; struct xChannelIdStruct yChaRR_z0B_CableToActualAlarm = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "CableToActualAlarm" , yChaSR_z0B_CableToActualAlarm, yChaOR_z0B_CableToActualAlarm, &yChaR_z0B_CableToActualAlarm }; /***** * SIGNALROUTE CableToAlarmMan * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),278(110,107),1,1) ******/ static xSignalIdNode yChaS_z0C_CableToAlarmMan[] = {&ySigR_zA_bWakeButtonPressed, &ySigR_zB_bWakeMinButtonPressed, &ySigR_zC_bWakeMin10ButtonPressed, &ySigR_zD_bWakeHourButtonPressed, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z0C_CableToAlarmMan[] = { (xSignalIdNode)0}; xIdNode yChaO_z0C_CableToAlarmMan[] = { (xIdNode)&yPrsR_z05_AlarmMan, (xIdNode)0}; xIdNode yChaOR_z0C_CableToAlarmMan[] = { (xIdNode)&yPrsR_z04_InputMan, (xIdNode)0}; struct xChannelIdStruct yChaR_z0C_CableToAlarmMan = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "CableToAlarmMan" , yChaS_z0C_CableToAlarmMan, yChaO_z0C_CableToAlarmMan, &yChaRR_z0C_CableToAlarmMan }; struct xChannelIdStruct yChaRR_z0C_CableToAlarmMan = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "CableToAlarmMan" , yChaSR_z0C_CableToAlarmMan, yChaOR_z0C_CableToAlarmMan, &yChaR_z0C_CableToAlarmMan }; /***** * SIGNALROUTE ShowAlarmTime * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),197(95,147),1,1) ******/ static xSignalIdNode yChaS_z0D_ShowAlarmTime[] = { &ySigR_z6_iCurAlarmTime, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z0D_ShowAlarmTime[] = { (xSignalIdNode)0}; xIdNode yChaO_z0D_ShowAlarmTime[] = { (xIdNode)&yChaR_z1_TimeToShow, (xIdNode)0}; xIdNode yChaOR_z0D_ShowAlarmTime[] = { (xIdNode)&yPrsR_z05_AlarmMan, (xIdNode)0}; struct xChannelIdStruct yChaR_z0D_ShowAlarmTime = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "ShowAlarmTime" , yChaS_z0D_ShowAlarmTime, yChaO_z0D_ShowAlarmTime, &yChaRR_z0D_ShowAlarmTime }; struct xChannelIdStruct yChaRR_z0D_ShowAlarmTime = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "ShowAlarmTime" , yChaSR_z0D_ShowAlarmTime, yChaOR_z0D_ShowAlarmTime, &yChaR_z0D_ShowAlarmTime }; /***** * SIGNALROUTE DMA_ToActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),230(135,154),1,1) ******/ static xSignalIdNode yChaS_z0E_DMA_ToActualAlarm[] = {&ySigR_zE_bSoundActualAlarm, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z0E_DMA_ToActualAlarm[] = { (xSignalIdNode)0}; xIdNode yChaO_z0E_DMA_ToActualAlarm[] = {(xIdNode)&yPrsR_z06_ActualAlarm, (xIdNode)0}; xIdNode yChaOR_z0E_DMA_ToActualAlarm[] = { (xIdNode)&yPrsR_z05_AlarmMan, (xIdNode)0}; struct xChannelIdStruct yChaR_z0E_DMA_ToActualAlarm = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "DMA_ToActualAlarm" , yChaS_z0E_DMA_ToActualAlarm, yChaO_z0E_DMA_ToActualAlarm, &yChaRR_z0E_DMA_ToActualAlarm }; struct xChannelIdStruct yChaRR_z0E_DMA_ToActualAlarm = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "DMA_ToActualAlarm" , yChaSR_z0E_DMA_ToActualAlarm, yChaOR_z0E_DMA_ToActualAlarm, &yChaR_z0E_DMA_ToActualAlarm }; /***** * SIGNALROUTE Speaker * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClockBlock.sbk(1),239(60,190),1,1) ******/ static xSignalIdNode yChaS_z0F_Speaker[] = { &ySigR_zK_aRadioOn, &ySigR_zL_aRadioOff, &ySigR_zM_aBuzzerOn, &ySigR_zN_aBuzzerOff, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z0F_Speaker[] = { (xSignalIdNode)0}; xIdNode yChaO_z0F_Speaker[] = { (xIdNode)&yChaR_z3_Speaker, (xIdNode)0}; xIdNode yChaOR_z0F_Speaker[] = { (xIdNode)&yPrsR_z06_ActualAlarm, (xIdNode)0}; struct xChannelIdStruct yChaR_z0F_Speaker = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "Speaker" , yChaS_z0F_Speaker, yChaO_z0F_Speaker, &yChaRR_z0F_Speaker }; struct xChannelIdStruct yChaRR_z0F_Speaker = { xSignalrouteEC , (xIdNode)0, (xIdNode)0, (xIdNode)&yBloR_z0_AlarmClockBlock, "Speaker" , yChaSR_z0F_Speaker, yChaOR_z0F_Speaker, &yChaR_z0F_Speaker }; /***** * CHANNEL TimeToShow * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(1),143(60,65),1,1) ******/ static xSignalIdNode yChaS_z1_TimeToShow[] = { &ySigR_z4_iTimeToShow, &ySigR_z6_iCurAlarmTime, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z1_TimeToShow[] = { (xSignalIdNode)0}; xIdNode yChaO_z1_TimeToShow[] = { (xIdNode)&yEnvR_env, (xIdNode)0}; struct xChannelIdStruct yChaR_z1_TimeToShow = { xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "TimeToShow" , yChaS_z1_TimeToShow, yChaO_z1_TimeToShow, &yChaRR_z1_TimeToShow }; struct xChannelIdStruct yChaRR_z1_TimeToShow = { xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "TimeToShow" , yChaSR_z1_TimeToShow, yChaOR_z1_TimeToShow, &yChaR_z1_TimeToShow }; /***** * CHANNEL InputReceived * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(1),158(60,95),1,1) ******/ static xSignalIdNode yChaS_z2_InputReceived[] = {&ySigR_z7_bMinButtonPressed, &ySigR_z8_bMin10ButtonPressed, &ySigR_z9_bHourButtonPressed, &ySigR_zA_bWakeButtonPressed, &ySigR_zB_bWakeMinButtonPressed, &ySigR_zC_bWakeMin10ButtonPressed, &ySigR_zD_bWakeHourButtonPressed, &ySigR_zF_bSnoozeButtonPressed, &ySigR_zG_sTypeRadioSel, &ySigR_zH_sTypeBuzzerSel, &ySigR_zI_sTypeOffSel, &ySigR_zJ_sBuzzerVolume, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z2_InputReceived[] = { (xSignalIdNode)0}; xIdNode yChaOR_z2_InputReceived[] = { (xIdNode)&yEnvR_env, (xIdNode)0}; struct xChannelIdStruct yChaR_z2_InputReceived = { xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "InputReceived" , yChaS_z2_InputReceived, yChaO_z2_InputReceived, &yChaRR_z2_InputReceived }; struct xChannelIdStruct yChaRR_z2_InputReceived = { xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "InputReceived" , yChaSR_z2_InputReceived, yChaOR_z2_InputReceived, &yChaR_z2_InputReceived }; /***** * CHANNEL Speaker * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(1),194(60,125),1,1) ******/ static xSignalIdNode yChaS_z3_Speaker[] = { &ySigR_zK_aRadioOn, &ySigR_zL_aRadioOff, &ySigR_zM_aBuzzerOn, &ySigR_zN_aBuzzerOff, (xSignalIdNode)0}; static xSignalIdNode yChaSR_z3_Speaker[] = { (xSignalIdNode)0}; xIdNode yChaO_z3_Speaker[] = { (xIdNode)&yEnvR_env, (xIdNode)0}; struct xChannelIdStruct yChaR_z3_Speaker = { xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "Speaker" , yChaS_z3_Speaker, yChaO_z3_Speaker, &yChaRR_z3_Speaker }; struct xChannelIdStruct yChaRR_z3_Speaker = { xChannelEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "Speaker" , yChaSR_z3_Speaker, yChaOR_z3_Speaker, &yChaR_z3_Speaker }; /***** * SIGNAL iTimeToShow * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),2,1) ******/ static xSignalNode ySigA_z4_iTimeToShow = (xSignalNode)0; struct xSignalIdStruct ySigR_z4_iTimeToShow = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "iTimeToShow" , (unsigned)sizeof(yPDef_z4_iTimeToShow), &ySigA_z4_iTimeToShow, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),2,1)" ,0 }; struct xVarIdStruct ySPaR1_z4_iTimeToShow = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z4_iTimeToShow , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_z4_iTimeToShow *) 0)->Param1), (unsigned)0, (int)0 }; struct xVarIdStruct ySPaR2_z4_iTimeToShow = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z4_iTimeToShow , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_z4_iTimeToShow *) 0)->Param2), (unsigned)0, (int)0 }; /***** * SIGNAL iTimeToAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),3,1) ******/ static xSignalNode ySigA_z5_iTimeToAlarm = (xSignalNode)0; struct xSignalIdStruct ySigR_z5_iTimeToAlarm = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "iTimeToAlarm" , (unsigned)sizeof(yPDef_z5_iTimeToAlarm), &ySigA_z5_iTimeToAlarm, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),3,1)" ,0 }; struct xVarIdStruct ySPaR1_z5_iTimeToAlarm = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z5_iTimeToAlarm , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_z5_iTimeToAlarm *) 0)->Param1), (unsigned)0, (int)0 }; struct xVarIdStruct ySPaR2_z5_iTimeToAlarm = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z5_iTimeToAlarm , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_z5_iTimeToAlarm *) 0)->Param2), (unsigned)0, (int)0 }; /***** * SIGNAL iCurAlarmTime * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),4,1) ******/ static xSignalNode ySigA_z6_iCurAlarmTime = (xSignalNode)0; struct xSignalIdStruct ySigR_z6_iCurAlarmTime = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "iCurAlarmTime" , (unsigned)sizeof(yPDef_z6_iCurAlarmTime), &ySigA_z6_iCurAlarmTime, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),4,1)" ,0 }; struct xVarIdStruct ySPaR1_z6_iCurAlarmTime = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z6_iCurAlarmTime , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_z6_iCurAlarmTime *) 0)->Param1), (unsigned)0, (int)0 }; struct xVarIdStruct ySPaR2_z6_iCurAlarmTime = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_z6_iCurAlarmTime , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_z6_iCurAlarmTime *) 0)->Param2), (unsigned)0, (int)0 }; /***** * SIGNAL bMinButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),6,1) ******/ struct xSignalIdStruct ySigR_z7_bMinButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bMinButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),6,1)" ,0 }; /***** * SIGNAL bMin10ButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),7,1) ******/ struct xSignalIdStruct ySigR_z8_bMin10ButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bMin10ButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),7,1)" ,0 }; /***** * SIGNAL bHourButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),8,1) ******/ struct xSignalIdStruct ySigR_z9_bHourButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bHourButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),8,1)" ,0 }; /***** * SIGNAL bWakeButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),10,1) ******/ struct xSignalIdStruct ySigR_zA_bWakeButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bWakeButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),10,1)" ,0 }; /***** * SIGNAL bWakeMinButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),11,1) ******/ struct xSignalIdStruct ySigR_zB_bWakeMinButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bWakeMinButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),11,1)" ,0 }; /***** * SIGNAL bWakeMin10ButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),12,1) ******/ struct xSignalIdStruct ySigR_zC_bWakeMin10ButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bWakeMin10ButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),12,1)" ,0 }; /***** * SIGNAL bWakeHourButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),13,1) ******/ struct xSignalIdStruct ySigR_zD_bWakeHourButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bWakeHourButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),13,1)" ,0 }; /***** * SIGNAL bSoundActualAlarm * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),15,1) ******/ struct xSignalIdStruct ySigR_zE_bSoundActualAlarm = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bSoundActualAlarm" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),15,1)" ,0 }; /***** * SIGNAL bSnoozeButtonPressed * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),16,1) ******/ struct xSignalIdStruct ySigR_zF_bSnoozeButtonPressed = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "bSnoozeButtonPressed" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),16,1)" ,0 }; /***** * SIGNAL sTypeRadioSel * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),17,1) ******/ struct xSignalIdStruct ySigR_zG_sTypeRadioSel = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "sTypeRadioSel" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),17,1)" ,0 }; /***** * SIGNAL sTypeBuzzerSel * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),18,1) ******/ struct xSignalIdStruct ySigR_zH_sTypeBuzzerSel = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "sTypeBuzzerSel" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),18,1)" ,0 }; /***** * SIGNAL sTypeOffSel * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),19,1) ******/ struct xSignalIdStruct ySigR_zI_sTypeOffSel = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "sTypeOffSel" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),19,1)" ,0 }; /***** * SIGNAL sBuzzerVolume * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),20,1) ******/ static xSignalNode ySigA_zJ_sBuzzerVolume = (xSignalNode)0; struct xSignalIdStruct ySigR_zJ_sBuzzerVolume = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "sBuzzerVolume" , (unsigned)sizeof(yPDef_zJ_sBuzzerVolume), &ySigA_zJ_sBuzzerVolume, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),20,1)" ,0 }; struct xVarIdStruct ySPaR1_zJ_sBuzzerVolume = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zJ_sBuzzerVolume , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_zJ_sBuzzerVolume *) 0)->Param1), (unsigned)0, (int)0 }; /***** * SIGNAL aRadioOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),21,1) ******/ struct xSignalIdStruct ySigR_zK_aRadioOn = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "aRadioOn" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),21,1)" ,0 }; /***** * SIGNAL aRadioOff * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),22,1) ******/ struct xSignalIdStruct ySigR_zL_aRadioOff = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "aRadioOff" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),22,1)" ,0 }; /***** * SIGNAL aBuzzerOn * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),23,1) ******/ static xSignalNode ySigA_zM_aBuzzerOn = (xSignalNode)0; struct xSignalIdStruct ySigR_zM_aBuzzerOn = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "aBuzzerOn" , (unsigned)sizeof(yPDef_zM_aBuzzerOn), &ySigA_zM_aBuzzerOn, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),23,1)" ,0 }; struct xVarIdStruct ySPaR1_zM_aBuzzerOn = { xSignalParEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySigR_zM_aBuzzerOn , " " , &xSrtR_SDL_Integer, (tSDLTypeInfo *)&ySDL_SDL_Integer, ((unsigned) &((yPDef_zM_aBuzzerOn *) 0)->Param1), (unsigned)0, (int)0 }; /***** * SIGNAL aBuzzerOff * <> * #SDTREF(SDL,H:\SEG2106\AlarmClock\AlarmClock.ssy(2),137(25,45),24,1) ******/ struct xSignalIdStruct ySigR_zN_aBuzzerOff = { xSignalEC , (xIdNode)0, (xIdNode)0, (xIdNode)&ySysR_z_AlarmClock, "aBuzzerOff" , (unsigned)sizeof(xSignalRec), 0, 0 , 0 , "#SDTREF(SDL,H:\\SEG2106\\AlarmClock\\AlarmClock.ssy(2),137(25,45),24,1)" ,0 }; /************************************************************************* ** SECTION Initialization ** *************************************************************************/ extern void yInit (void) { int Temp; xSysD.xTranslatorVersion_Var = "Program generated by Cbasic 5.0.0 "; xInsertIdNode((xIdNode)&ySysR_z_AlarmClock); xInsertIdNode((xIdNode)&yBloR_z0_AlarmClockBlock); xInsertIdNode((xIdNode)&yPrsR_z03_TimeUpdater); xInsertIdNode((xIdNode)&ySigR_z03_TimeUpdater); SDL_Create(xGetSignal((&ySigR_z03_TimeUpdater), SDL_NULL, SDL_NULL), (&yPrsR_z03_TimeUpdater), 1); xInsertIdNode((xIdNode)&yStaR_z034_WaitForTimeUpdate); xInsertIdNode((xIdNode)&ySigR_z035_waitMinuteTimer); xInsertIdNode((xIdNode)&yVarR_z036_Hour); xInsertIdNode((xIdNode)&yVarR_z037_Minute); xInsertIdNode((xIdNode)&yVarR_z038_Delay); xInsertIdNode((xIdNode)&yPrsR_z04_InputMan); xInsertIdNode((xIdNode)&ySigR_z04_InputMan); SDL_Create(xGetSignal((&ySigR_z04_InputMan), SDL_NULL, SDL_NULL), (&yPrsR_z04_InputMan), 1); xInsertIdNode((xIdNode)&yStaR_z043_InputIdle); xInsertIdNode((xIdNode)&yVarR_z044_TransferMe); xInsertIdNode((xIdNode)&yPrsR_z05_AlarmMan); xInsertIdNode((xIdNode)&ySigR_z05_AlarmMan); SDL_Create(xGetSignal((&ySigR_z05_AlarmMan), SDL_NULL, SDL_NULL), (&yPrsR_z05_AlarmMan), 1); xInsertIdNode((xIdNode)&yStaR_z053_AlarmIdle); xInsertIdNode((xIdNode)&yVarR_z054_InputMinute); xInsertIdNode((xIdNode)&yVarR_z055_InputHour); xInsertIdNode((xIdNode)&yVarR_z056_AlarmMinute); xInsertIdNode((xIdNode)&yVarR_z057_AlarmHour); xInsertIdNode((xIdNode)&yPrsR_z06_ActualAlarm); xInsertIdNode((xIdNode)&ySigR_z06_ActualAlarm); SDL_Create(xGetSignal((&ySigR_z06_ActualAlarm), SDL_NULL, SDL_NULL), (&yPrsR_z06_ActualAlarm), 1); xInsertIdNode((xIdNode)&yStaR_z069_ActualAlarmIdle); xInsertIdNode((xIdNode)&ySigR_z06A_SNOOZETimer); xInsertIdNode((xIdNode)&yVarR_z06B_ActivateAlarm); xInsertIdNode((xIdNode)&yVarR_z06C_ActivateSnooze); xInsertIdNode((xIdNode)&yVarR_z06D_AlarmTypeRadio); xInsertIdNode((xIdNode)&yVarR_z06E_AlarmTypeBuzzer); xInsertIdNode((xIdNode)&yVarR_z06F_AlarmTypeOff); xInsertIdNode((xIdNode)&yVarR_z06G_RadioIsOn); xInsertIdNode((xIdNode)&yVarR_z06H_BuzzerIsOn); xInsertIdNode((xIdNode)&yVarR_z06I_SnoozeDelay); xInsertIdNode((xIdNode)&yVarR_z06J_TestVol); xInsertIdNode((xIdNode)&yVarR_z06K_BuzzerVolume); xInsertIdNode((xIdNode)&yChaR_z07_TimeToShow); xInsertIdNode((xIdNode)&yChaRR_z07_TimeToShow); xInsertIdNode((xIdNode)&yChaR_z08_DMA_ToAlarmMan); xInsertIdNode((xIdNode)&yChaRR_z08_DMA_ToAlarmMan); xInsertIdNode((xIdNode)&yChaR_z09_CableToTimeUpdater); xInsertIdNode((xIdNode)&yChaRR_z09_CableToTimeUpdater); xInsertIdNode((xIdNode)&yChaR_z0A_InputReceived); xInsertIdNode((xIdNode)&yChaRR_z0A_InputReceived); xInsertIdNode((xIdNode)&yChaR_z0B_CableToActualAlarm); xInsertIdNode((xIdNode)&yChaRR_z0B_CableToActualAlarm); xInsertIdNode((xIdNode)&yChaR_z0C_CableToAlarmMan); xInsertIdNode((xIdNode)&yChaRR_z0C_CableToAlarmMan); xInsertIdNode((xIdNode)&yChaR_z0D_ShowAlarmTime); xInsertIdNode((xIdNode)&yChaRR_z0D_ShowAlarmTime); xInsertIdNode((xIdNode)&yChaR_z0E_DMA_ToActualAlarm); xInsertIdNode((xIdNode)&yChaRR_z0E_DMA_ToActualAlarm); xInsertIdNode((xIdNode)&yChaR_z0F_Speaker); xInsertIdNode((xIdNode)&yChaRR_z0F_Speaker); xInsertIdNode((xIdNode)&yChaR_z1_TimeToShow); xInsertIdNode((xIdNode)&yChaRR_z1_TimeToShow); xInsertIdNode((xIdNode)&yChaR_z2_InputReceived); xInsertIdNode((xIdNode)&yChaRR_z2_InputReceived); xInsertIdNode((xIdNode)&yChaR_z3_Speaker); xInsertIdNode((xIdNode)&yChaRR_z3_Speaker); xInsertIdNode((xIdNode)&ySigR_z4_iTimeToShow); xInsertIdNode((xIdNode)&ySPaR1_z4_iTimeToShow); xInsertIdNode((xIdNode)&ySPaR2_z4_iTimeToShow); xInsertIdNode((xIdNode)&ySigR_z5_iTimeToAlarm); xInsertIdNode((xIdNode)&ySPaR1_z5_iTimeToAlarm); xInsertIdNode((xIdNode)&ySPaR2_z5_iTimeToAlarm); xInsertIdNode((xIdNode)&ySigR_z6_iCurAlarmTime); xInsertIdNode((xIdNode)&ySPaR1_z6_iCurAlarmTime); xInsertIdNode((xIdNode)&ySPaR2_z6_iCurAlarmTime); xInsertIdNode((xIdNode)&ySigR_z7_bMinButtonPressed); xInsertIdNode((xIdNode)&ySigR_z8_bMin10ButtonPressed); xInsertIdNode((xIdNode)&ySigR_z9_bHourButtonPressed); xInsertIdNode((xIdNode)&ySigR_zA_bWakeButtonPressed); xInsertIdNode((xIdNode)&ySigR_zB_bWakeMinButtonPressed); xInsertIdNode((xIdNode)&ySigR_zC_bWakeMin10ButtonPressed); xInsertIdNode((xIdNode)&ySigR_zD_bWakeHourButtonPressed); xInsertIdNode((xIdNode)&ySigR_zE_bSoundActualAlarm); xInsertIdNode((xIdNode)&ySigR_zF_bSnoozeButtonPressed); xInsertIdNode((xIdNode)&ySigR_zG_sTypeRadioSel); xInsertIdNode((xIdNode)&ySigR_zH_sTypeBuzzerSel); xInsertIdNode((xIdNode)&ySigR_zI_sTypeOffSel); xInsertIdNode((xIdNode)&ySigR_zJ_sBuzzerVolume); xInsertIdNode((xIdNode)&ySPaR1_zJ_sBuzzerVolume); xInsertIdNode((xIdNode)&ySigR_zK_aRadioOn); xInsertIdNode((xIdNode)&ySigR_zL_aRadioOff); xInsertIdNode((xIdNode)&ySigR_zM_aBuzzerOn); xInsertIdNode((xIdNode)&ySPaR1_zM_aBuzzerOn); xInsertIdNode((xIdNode)&ySigR_zN_aBuzzerOff); }