m_gl100a.c

First part (of 4) of generated file


#include "OCCAM2C.LNT"
#define   OCCAM2C_LNT_RESTORE_F

/***********************************************************
 *  Project : GPMIMD ESPRIT P5404
 *  Authors : Mark Debbage, Mark Hill and Sean Wykes
 *            University of Southampton
 *
 *    Title : Prototype Source File for generated C
 *   System : Occam 2 C
 * Filename : Occam2C.c
 *  Version : 1.4
 *     Date : 1/31/94
 **********************************************************/


/******************************************************************************
 * File name          : Occam2c.c
 * Owner              : OyT
 * Module Description : SPOC template file
 * Document name(s)   :
 * Main project name  : RIFT/GL-100 (800620UN)
 * Sub  project name  : DSP CPU S.W (800821UN)
 *
 * Copyright Autronica AS 1996-97
 * 7005 TRONDHEIM, NORWAY
 *
 * Ver. yy-mm-dd Author Approved Description
 * ---- -------- ------ -------- ----------------------------------------------
 * 0.01                          See banner above
 * 1.24 20Aug98  OyT             lint-ed
 * 1.24 02Dec98  OyT             GLKDSP=1044: SETERR involves no lineNo and fileName
 ******************************************************************************/


/*
   CALL_NAG_F90
   USE_SPOC_ISERVER
   USE_NONBLOCKING_SOCKETS
   GENPROTO (Inserted again 25.Feb.1997)
   LIBRARY_UNIT (Inserted again 25.Feb.1997)
   signal.h
   sys/time.h
   USESIGTIMER
   NO_INT64
   NO_REAL64
   OCCAM_MAIN
   __GNUC__
   main(void) instead of main(....)
   DEFAULT_MEMSIZE_IN_INTS removed
   << PARAMETERS >> field removed
   SocketEvent:
     // static int SocketEvent = false;
     // while(CURTASK != NoTask || TimerEvent || SocketEvent)
   SHOWTASKING test, it was not defined
   TIMER is not zeroed at power-up
   "#ifndef NO_DEBUG" annd all code within have been removed
   For analysis of system behaviour in emulator:
     idle_ms, idle_max_ms, timer_int_tick added
     Reset_idle_max_ms added
   survivalFromLastRun added
   "DINT1" DMA1 interrupt handled (17Apr98)
   PC-lint done (Aug98)
*/


#define BYTES_PER_WORD 4
#define TERMINATE_ON_ERROR
#define CHECK_CONVERSIONS
#define CHECK_ARRAYS
#define CHECK_RANGES
#define NO_DEBUG
#define FASTGOTOS
#define SOURCE LITTLE
// occ2c SoftwDes.occ -mn -d
// Here are these switches, clipped from a generated C-file:
// #define BYTES_PER_WORD 4
// #define TERMINATE_ON_ERROR
// #define CHECK_CONVERSIONS
// #define CHECK_ARRAYS
// #define CHECK_RANGES
// #define NO_DEBUG
// #define FASTGOTOS
// #define SOURCE LITTLE
// To remove lint e750 "local macro not referenced":
#ifdef BYTES_PER_WORD
#endif
#ifdef TERMINATE_ON_ERROR
#endif
#ifdef CHECK_CONVERSIONS
#endif
#ifdef CHECK_ARRAYS
#endif
#ifdef CHECK_RANGES
#endif
#ifdef NO_DEBUG
#endif
#ifdef FASTGOTOS
#endif
#ifdef SOURCE
#endif


#define BITS_PER_WORD (BYTES_PER_WORD * 8) // 32 Teig
#define FAST_SHIFTS // To avoid side-effect warning 666 from PC-lint
// #define DEBUG_COUNT_PROCESS_SCHEDULES // Teig


#ifdef GENPROTO
// makedep doesn't understand the ifdef!
// #include <stdio.h>
#endif
#include "Occam2C.h"
#include "C_RefOcc.inc" // Teig


/*lint -save -e793 ANSI limit of 127 'structure members' exceeded processing is unaffected */
/*lint ++flb       Force it to be considereded as a library, so that "local structure member not referenced" (754)
		   is suppressed during module wrap-up */
typedef struct SF_F_string_pos_745 tSF_F_string_pos_745;
typedef struct SF_F_SizeOfTextNoTrailingSpaces_751 tSF_F_SizeOfTextNoTrailingSpaces_751;
typedef struct SF_P_InsertText_755 tSF_P_InsertText_755;
typedef struct SF_P_InsertCharsAndTrailingSpaces_761 tSF_P_InsertCharsAndTrailingSpaces_761;
typedef struct SF_P_InsertTextIfSpace_767 tSF_P_InsertTextIfSpace_767;
typedef struct SF_P_InsertTextIntoCommaSeparatedList_776 tSF_P_InsertTextIntoCommaSeparatedList_776;
typedef struct SF_P_MakeCommaSeparatedListOf_785 tSF_P_MakeCommaSeparatedListOf_785;
typedef struct SF_F_EqualText_791 tSF_F_EqualText_791;
typedef struct SF_F_AlmostEqualText_798 tSF_F_AlmostEqualText_798;
typedef struct SF_F_FindTextBeforeToken_809 tSF_F_FindTextBeforeToken_809;
typedef struct SF_F_FindTextFromArray_815 tSF_F_FindTextFromArray_815;
typedef struct SF_F_ToHex_821 tSF_F_ToHex_821;
typedef struct SF_P_IntToHex8_825 tSF_P_IntToHex8_825;
typedef struct SF_P_ShiftLeftText_if_830 tSF_P_ShiftLeftText_if_830;
typedef struct SF_P_RemoveHexLeadingZeroes_835 tSF_P_RemoveHexLeadingZeroes_835;
typedef struct SF_P_Delay_ms_1435 tSF_P_Delay_ms_1435;
typedef struct SF_P_Add64To64_1447 tSF_P_Add64To64_1447;
typedef struct SF_F_Int32NeedOfBytes_1452 tSF_F_Int32NeedOfBytes_1452;
typedef struct SF_F_IsNotModulo4_1454 tSF_F_IsNotModulo4_1454;
typedef struct SF_F_MinOf_1459 tSF_F_MinOf_1459;
typedef struct SF_F_MaxOf_1464 tSF_F_MaxOf_1464;
typedef struct SF_F_RotateRight_1468 tSF_F_RotateRight_1468;
typedef struct SF_F_InRange_1472 tSF_F_InRange_1472;
typedef struct SF_F_InRangeREAL32_1476 tSF_F_InRangeREAL32_1476;
typedef struct SF_F_IsEqualTo_1482 tSF_F_IsEqualTo_1482;
typedef struct SF_F_IsEqualTo_3_1487 tSF_F_IsEqualTo_3_1487;
typedef struct SF_F_IsNotIn_1493 tSF_F_IsNotIn_1493;
typedef struct SF_F_IOfEqualTo_1499 tSF_F_IOfEqualTo_1499;
typedef struct SF_F_IsArrDim3_in_XY_ListZ_1508 tSF_F_IsArrDim3_in_XY_ListZ_1508;
typedef struct SF_P_BlackHole_1511 tSF_P_BlackHole_1511;
typedef struct SF_P_BlackHoleTriggerForever_1515 tSF_P_BlackHoleTriggerForever_1515;
typedef struct SF_P_1520 tSF_P_1520;
typedef struct SF_P_1521 tSF_P_1521;
typedef struct SF_P_ErrorNoReturn_1522 tSF_P_ErrorNoReturn_1522;
typedef struct SF_F_SetBits_1525 tSF_F_SetBits_1525;
typedef struct SF_F_ClearBits_1530 tSF_F_ClearBits_1530;
typedef struct SF_F_InsertBits_1537 tSF_F_InsertBits_1537;
typedef struct SF_F_Bit_1540 tSF_F_Bit_1540;
typedef struct SF_F_ExtractAndAlignBits_1544 tSF_F_ExtractAndAlignBits_1544;
typedef struct SF_F_NextSeqCnt_1601 tSF_F_NextSeqCnt_1601;
typedef struct SF_F_InitParsing_1602 tSF_F_InitParsing_1602;
typedef struct SF_P_IsResynch_1628 tSF_P_IsResynch_1628;
typedef struct SF_P_IsNormalOrTry_1630 tSF_P_IsNormalOrTry_1630;
typedef struct SF_P_ParseALPPFrameRx_1631 tSF_P_ParseALPPFrameRx_1631;
typedef struct SF_P_VerifyBuffer_1636 tSF_P_VerifyBuffer_1636;
typedef struct SF_F_NoOfBytesEtcOfNextFragment_1641 tSF_F_NoOfBytesEtcOfNextFragment_1641;
typedef struct SF_F_Insert1ALPPFragment_1651 tSF_F_Insert1ALPPFragment_1651;
typedef struct SF_F_Insert2ALPPAddrEtc_1664 tSF_F_Insert2ALPPAddrEtc_1664;
typedef struct SF_F_Insert3ALPPError_1670 tSF_F_Insert3ALPPError_1670;
typedef struct SF_F_Insert4ALPPFrame_1690 tSF_F_Insert4ALPPFrame_1690;
typedef struct SF_F_NoOfUnpackedBytes_1695 tSF_F_NoOfUnpackedBytes_1695;
typedef struct SF_P_MakeTypeArray_1699 tSF_P_MakeTypeArray_1699;
typedef struct SF_F_NoOfArrayElementsUnmasked_1701 tSF_F_NoOfArrayElementsUnmasked_1701;
typedef struct SF_F_IsTypeOfSizeParamOK_1705 tSF_F_IsTypeOfSizeParamOK_1705;
typedef struct SF_P_MirrorBytesOf_1716 tSF_P_MirrorBytesOf_1716;
typedef struct SF_P_UnpackFromByteArray_1726 tSF_P_UnpackFromByteArray_1726;
typedef struct SF_P_UnpackRunningElements_1739 tSF_P_UnpackRunningElements_1739;
typedef struct SF_P_UnpackElementsOfArray_1753 tSF_P_UnpackElementsOfArray_1753;
typedef struct SF_P_UnpackAlbumCommand_1779 tSF_P_UnpackAlbumCommand_1779;
typedef struct SF_P_PackToByteArray_1793 tSF_P_PackToByteArray_1793;
typedef struct SF_P_PackRunningElements_1806 tSF_P_PackRunningElements_1806;
typedef struct SF_P_PackElementsOfArray_1820 tSF_P_PackElementsOfArray_1820;
typedef struct SF_P_PackAlbumReply_1844 tSF_P_PackAlbumReply_1844;
typedef struct SF_P_AddByteArrayToEnd_1861 tSF_P_AddByteArrayToEnd_1861;
typedef struct SF_P_ShiftByteArrayDown_1868 tSF_P_ShiftByteArrayDown_1868;
typedef struct SF_P_InsertNackEndUnpacked_1884 tSF_P_InsertNackEndUnpacked_1884;
typedef struct SF_P_InsertAckEndUnpacked_1888 tSF_P_InsertAckEndUnpacked_1888;
typedef struct SF_F_IsInINTArray_1894 tSF_F_IsInINTArray_1894;
typedef struct SF_P_GetAlbumDecodeSegment_1905 tSF_P_GetAlbumDecodeSegment_1905;
typedef struct SF_P_FillArrayWithBYTEs_1909 tSF_P_FillArrayWithBYTEs_1909;
typedef struct SF_F_IsSemanticsOutput_1911 tSF_F_IsSemanticsOutput_1911;
typedef struct SF_P_GetProtocolType_1914 tSF_P_GetProtocolType_1914;
typedef struct SF_P_SetProtocolType_1917 tSF_P_SetProtocolType_1917;
typedef struct SF_P_GetNoOfInt32OfTheProtocol_1920 tSF_P_GetNoOfInt32OfTheProtocol_1920;
typedef struct SF_P_SetNoOfInt32OfTheProtocol_1923 tSF_P_SetNoOfInt32OfTheProtocol_1923;
typedef struct SF_P_GetTheProtocolCmd_1926 tSF_P_GetTheProtocolCmd_1926;
typedef struct SF_P_SetTheProtocolCmd_1929 tSF_P_SetTheProtocolCmd_1929;
typedef struct SF_P_CheckEnvelope_1932 tSF_P_CheckEnvelope_1932;
typedef struct SF_F_EnvelopeLen_1936 tSF_F_EnvelopeLen_1936;
typedef struct SF_P_MakeSimpleCommand_1940 tSF_P_MakeSimpleCommand_1940;
typedef struct SF_P_I01_CodeCksumTst_1949 tSF_P_I01_CodeCksumTst_1949;
typedef struct SF_P_CodeCksumTst_1953 tSF_P_CodeCksumTst_1953;
typedef struct SF_P_OnOrOffOrKeep_1965 tSF_P_OnOrOffOrKeep_1965;
typedef struct SF_P_ExceptionBlinker_1981 tSF_P_ExceptionBlinker_1981;
typedef struct SF_P_ExceptionBuffer_1985 tSF_P_ExceptionBuffer_1985;
typedef struct SF_P_ExceptionDemux_1990 tSF_P_ExceptionDemux_1990;
typedef struct SF_P_Init_2005 tSF_P_Init_2005;
typedef struct SF_P_ExceptionHandler_2010 tSF_P_ExceptionHandler_2010;
typedef struct SF_P_InitDualPort0_2024 tSF_P_InitDualPort0_2024;
typedef struct SF_F_InitDualPort1_2027 tSF_F_InitDualPort1_2027;
typedef struct SF_P_TestDualPortAtLinkLevel_2046 tSF_P_TestDualPortAtLinkLevel_2046;
typedef struct SF_P_InitAndTestDualPort_2053 tSF_P_InitAndTestDualPort_2053;
typedef struct SF_P_DisplayEventCnts_2086 tSF_P_DisplayEventCnts_2086;
typedef struct SF_P_ReleaseAndZero_2109 tSF_P_ReleaseAndZero_2109;
typedef struct SF_P_DualPortAcquireAndRelease_2113 tSF_P_DualPortAcquireAndRelease_2113;
typedef struct SF_P_ExtractLonParametres_2134 tSF_P_ExtractLonParametres_2134;
typedef struct SF_P_DualPortPoll_2148 tSF_P_DualPortPoll_2148;
typedef struct SF_P_InsertLonParametres_2176 tSF_P_InsertLonParametres_2176;
typedef struct SF_P_PrepareTimers_2184 tSF_P_PrepareTimers_2184;
typedef struct SF_P_TryToWrite_2190 tSF_P_TryToWrite_2190;
typedef struct SF_P_DualPortWrite_2197 tSF_P_DualPortWrite_2197;
typedef struct SF_P_2208 tSF_P_2208;
typedef struct SF_P_2209 tSF_P_2209;
typedef struct SF_P_2210 tSF_P_2210;
typedef struct SF_P_2211 tSF_P_2211;
typedef struct SF_P_2216 tSF_P_2216;
typedef struct SF_P_2217 tSF_P_2217;
typedef struct SF_P_DualPortDriverFather_2218 tSF_P_DualPortDriverFather_2218;
typedef struct SF_P_InsertRxXYF32CrvEndUnpacked_2244 tSF_P_InsertRxXYF32CrvEndUnpacked_2244;
typedef struct SF_P_Clear_oBuff_send_2260 tSF_P_Clear_oBuff_send_2260;
typedef struct SF_P_CurveServer_2281 tSF_P_CurveServer_2281;
typedef struct SF_P_Input_2296 tSF_P_Input_2296;
typedef struct SF_P_Output_2301 tSF_P_Output_2301;
typedef struct SF_P_2306 tSF_P_2306;
typedef struct SF_P_2307 tSF_P_2307;
typedef struct SF_P_OverWrBuff_ExceptionHandler_2308 tSF_P_OverWrBuff_ExceptionHandler_2308;
typedef struct SF_P_Input_2325 tSF_P_Input_2325;
typedef struct SF_P_Output_2332 tSF_P_Output_2332;
typedef struct SF_P_2337 tSF_P_2337;
typedef struct SF_P_2338 tSF_P_2338;
typedef struct SF_P_OverWrBuff_FileServer_2339 tSF_P_OverWrBuff_FileServer_2339;
typedef struct SF_P_Input_2355 tSF_P_Input_2355;
typedef struct SF_P_Output_2363 tSF_P_Output_2363;
typedef struct SF_P_Buffer_2370 tSF_P_Buffer_2370;
typedef struct SF_P_2378 tSF_P_2378;
typedef struct SF_P_2379 tSF_P_2379;
typedef struct SF_P_2382 tSF_P_2382;
typedef struct SF_P_2383 tSF_P_2383;
typedef struct SF_P_2384 tSF_P_2384;
typedef struct SF_P_OverWrBuff_AlbumPackets_2385 tSF_P_OverWrBuff_AlbumPackets_2385;
typedef struct SF_P_Input_2395 tSF_P_Input_2395;
typedef struct SF_P_Output_2400 tSF_P_Output_2400;
typedef struct SF_P_2405 tSF_P_2405;
typedef struct SF_P_2406 tSF_P_2406;
typedef struct SF_P_OverWrBuff_INT_2407 tSF_P_OverWrBuff_INT_2407;
typedef struct SF_P_Input_2420 tSF_P_Input_2420;
typedef struct SF_P_Output_2426 tSF_P_Output_2426;
typedef struct SF_P_2431 tSF_P_2431;
typedef struct SF_P_2432 tSF_P_2432;
typedef struct SF_P_OverWrBuff_Envelope_2433 tSF_P_OverWrBuff_Envelope_2433;
typedef struct SF_P_FillBuffer_2447 tSF_P_FillBuffer_2447;
typedef struct SF_P_EmptyBuffer_2451 tSF_P_EmptyBuffer_2451;
typedef struct SF_P_Input_2468 tSF_P_Input_2468;
typedef struct SF_P_Output_2474 tSF_P_Output_2474;
typedef struct SF_P_2479 tSF_P_2479;
typedef struct SF_P_2480 tSF_P_2480;
typedef struct SF_P_OverWrBuff_AlarmServer_2481 tSF_P_OverWrBuff_AlarmServer_2481;
typedef struct SF_P_ResetToPowerUpState_2503 tSF_P_ResetToPowerUpState_2503;
typedef struct SF_P_AlarmServer_2524 tSF_P_AlarmServer_2524;
typedef struct SF_P_2529 tSF_P_2529;
typedef struct SF_P_2530 tSF_P_2530;
typedef struct SF_P_2531 tSF_P_2531;
typedef struct SF_P_AlarmServerFather_2532 tSF_P_AlarmServerFather_2532;
typedef struct SF_P_ResetToPowerUpState_2550 tSF_P_ResetToPowerUpState_2550;
typedef struct SF_P_VolumeServer_2569 tSF_P_VolumeServer_2569;
typedef struct SF_P_UllcalcGetsADConv_2593 tSF_P_UllcalcGetsADConv_2593;
typedef struct SF_F_DMADefaultValuesErr_2600 tSF_F_DMADefaultValuesErr_2600;
typedef struct SF_P_TestHRawDriver_2610 tSF_P_TestHRawDriver_2610;
typedef struct SF_P_InformCurveServerBreakpointRemoved_2639 tSF_P_InformCurveServerBreakpointRemoved_2639;
typedef struct SF_P_ResetToPowerUpState_2641 tSF_P_ResetToPowerUpState_2641;
typedef struct SF_P_UllCalc_2689 tSF_P_UllCalc_2689;
typedef struct SF_P_2698 tSF_P_2698;
typedef struct SF_P_2699 tSF_P_2699;
typedef struct SF_P_2700 tSF_P_2700;
typedef struct SF_P_UllCalcFather_2701 tSF_P_UllCalcFather_2701;
typedef struct SF_P_ReadAutoselect_2769 tSF_P_ReadAutoselect_2769;
typedef struct SF_P_WriteINT16_2775 tSF_P_WriteINT16_2775;
typedef struct SF_P_ReadINT32_2778 tSF_P_ReadINT32_2778;
typedef struct SF_P_VerifyINT32Address_2781 tSF_P_VerifyINT32Address_2781;
typedef struct SF_P_VerifyINT32_2785 tSF_P_VerifyINT32_2785;
typedef struct SF_P_WriteINT32AndVerify_2793 tSF_P_WriteINT32AndVerify_2793;
typedef struct SF_F_AddressOf_2795 tSF_F_AddressOf_2795;
typedef struct SF_F_IOfSectorOf_2797 tSF_F_IOfSectorOf_2797;
typedef struct SF_F_Int32AddressOf_2801 tSF_F_Int32AddressOf_2801;
typedef struct SF_F_VerifyFlashType_2807 tSF_F_VerifyFlashType_2807;
typedef struct SF_F_FlashNotOk_2809 tSF_F_FlashNotOk_2809;
typedef struct SF_P_ResetRestoreState_2810 tSF_P_ResetRestoreState_2810;
typedef struct SF_P_GetManufacturerAndDeviceCodes_2813 tSF_P_GetManufacturerAndDeviceCodes_2813;
typedef struct SF_P_SectorEraseAndVerify_2835 tSF_P_SectorEraseAndVerify_2835;
typedef struct SF_P_Copy_2846 tSF_P_Copy_2846;
typedef struct SF_P_Nopy_2855 tSF_P_Nopy_2855;
typedef struct SF_P_CalculateSector_2872 tSF_P_CalculateSector_2872;
typedef struct SF_P_GetSectorInfo_2881 tSF_P_GetSectorInfo_2881;
typedef struct SF_P_SetSectorInfo_2891 tSF_P_SetSectorInfo_2891;
typedef struct SF_P_FlashDriver_3011 tSF_P_FlashDriver_3011;
typedef struct SF_P_3014 tSF_P_3014;
typedef struct SF_P_3015 tSF_P_3015;
typedef struct SF_P_FlashDriverFather_3016 tSF_P_FlashDriverFather_3016;
typedef struct SF_P_SetHardwareError_3030 tSF_P_SetHardwareError_3030;
typedef struct SF_P_FillADBuffer_3037 tSF_P_FillADBuffer_3037;
typedef struct SF_P_TestDMAADConversion_3052 tSF_P_TestDMAADConversion_3052;
typedef struct SF_P_InitADBuffers_3069 tSF_P_InitADBuffers_3069;
typedef struct SF_P_ExtractFromInterlievedUpUnrolled_3083 tSF_P_ExtractFromInterlievedUpUnrolled_3083;
typedef struct SF_P_ExtractFromInterlievedDwnUnrolled_3097 tSF_P_ExtractFromInterlievedDwnUnrolled_3097;
typedef struct SF_P_DoStopAck_If_3119 tSF_P_DoStopAck_If_3119;
typedef struct SF_P_RawDriver_3134 tSF_P_RawDriver_3134;
typedef struct SF_P_DINT1Mediator_3135 tSF_P_DINT1Mediator_3135;
typedef struct SF_P_3136 tSF_P_3136;
typedef struct SF_P_3137 tSF_P_3137;
typedef struct SF_P_RawDriverFather_3138 tSF_P_RawDriverFather_3138;
typedef struct SF_P_TestOccamVsCInconcistency_3146 tSF_P_TestOccamVsCInconcistency_3146;
typedef struct SF_P_3285 tSF_P_3285;
typedef struct SF_P_3286 tSF_P_3286;
typedef struct SF_P_VerifyAlbum_3287 tSF_P_VerifyAlbum_3287;
typedef struct SF_P_3288 tSF_P_3288;
typedef struct SF_P_3295 tSF_P_3295;
typedef struct SF_P_3298 tSF_P_3298;
typedef struct SF_P_3321 tSF_P_3321;
typedef struct SF_P_ResetMerging_3342 tSF_P_ResetMerging_3342;
typedef struct SF_P_InMergePackets_3360 tSF_P_InMergePackets_3360;
typedef struct SF_P_ResetSplitting_3377 tSF_P_ResetSplitting_3377;
typedef struct SF_P_OutSplitToPackets_3397 tSF_P_OutSplitToPackets_3397;
typedef struct SF_P_MessageRouter_3501 tSF_P_MessageRouter_3501;
typedef struct SF_P_3502 tSF_P_3502;
typedef struct SF_P_3503 tSF_P_3503;
typedef struct SF_P_3504 tSF_P_3504;
typedef struct SF_P_3505 tSF_P_3505;
typedef struct SF_P_LogMeOn_3538 tSF_P_LogMeOn_3538;
typedef struct SF_P_CleanupAfterClient_3539 tSF_P_CleanupAfterClient_3539;
typedef struct SF_P_BroadcastLogOn_3544 tSF_P_BroadcastLogOn_3544;
typedef struct SF_P_ClientLogOn_3571 tSF_P_ClientLogOn_3571;
typedef struct SF_P_SendLoggingOff_3577 tSF_P_SendLoggingOff_3577;
typedef struct SF_P_3585 tSF_P_3585;
typedef struct SF_P_BroadcastLoggingOnOff_3586 tSF_P_BroadcastLoggingOnOff_3586;
typedef struct SF_P_3587 tSF_P_3587;
typedef struct SF_P_3590 tSF_P_3590;
typedef struct SF_P_3591 tSF_P_3591;
typedef struct SF_P_3592 tSF_P_3592;
typedef struct SF_P_3593 tSF_P_3593;
typedef struct SF_F_VerifySubscribed_3731 tSF_F_VerifySubscribed_3731;
typedef struct SF_P_InitSubscribed_3734 tSF_P_InitSubscribed_3734;
typedef struct SF_F_VerifyDelta_3744 tSF_F_VerifyDelta_3744;
typedef struct SF_P_InitDelta_3747 tSF_P_InitDelta_3747;
typedef struct SF_F_VerifyTimeout_ms_3758 tSF_F_VerifyTimeout_ms_3758;
typedef struct SF_P_InitTimeout_ms_3760 tSF_P_InitTimeout_ms_3760;
typedef struct SF_F_VerifyIsPolled_3770 tSF_F_VerifyIsPolled_3770;
typedef struct SF_P_VerifyAndInit_If_3780 tSF_P_VerifyAndInit_If_3780;
typedef struct SF_P_FillAllDefaults_3789 tSF_P_FillAllDefaults_3789;
typedef struct SF_P_StartSendHighPriUntilEmpty_3790 tSF_P_StartSendHighPriUntilEmpty_3790;
typedef struct SF_F_NextLowPriDelayTimer_3793 tSF_F_NextLowPriDelayTimer_3793;
typedef struct SF_P_StartSendLowPri_3798 tSF_P_StartSendLowPri_3798;
typedef struct SF_P_GetClassReasonFrontOfQueue_3810 tSF_P_GetClassReasonFrontOfQueue_3810;
typedef struct SF_P_HandleClassReasonChange_3817 tSF_P_HandleClassReasonChange_3817;
typedef struct SF_P_ModifyFrontLEDs_3821 tSF_P_ModifyFrontLEDs_3821;
typedef struct SF_F_GetLEDs_3822 tSF_F_GetLEDs_3822;
typedef struct SF_P_SetLEDs_3824 tSF_P_SetLEDs_3824;
typedef struct SF_P_PrepareToSendFrontLEDs_If_3830 tSF_P_PrepareToSendFrontLEDs_If_3830;
typedef struct SF_P_NextTimeoutIsHopefullySharp_3908 tSF_P_NextTimeoutIsHopefullySharp_3908;
typedef struct SF_P_EventRouter_4018 tSF_P_EventRouter_4018;
typedef struct SF_P_4021 tSF_P_4021;
typedef struct SF_P_4022 tSF_P_4022;
typedef struct SF_P_EventRouterFather_4023 tSF_P_EventRouterFather_4023;
typedef struct SF_P_4024 tSF_P_4024;
typedef struct SF_P_4027 tSF_P_4027;
typedef struct SF_F_Convert_status_4084 tSF_F_Convert_status_4084;
typedef struct SF_P_WriteToFlash_4099 tSF_P_WriteToFlash_4099;
typedef struct SF_P_ReadFromFlash_4115 tSF_P_ReadFromFlash_4115;
typedef struct SF_P_Verify_4118 tSF_P_Verify_4118;
typedef struct SF_P_FillFCB_4123 tSF_P_FillFCB_4123;
typedef struct SF_F_GetNoOfElem_4127 tSF_F_GetNoOfElem_4127;
typedef struct SF_P_InsertArrayInFront_4135 tSF_P_InsertArrayInFront_4135;
typedef struct SF_F_CalculateAddressOf_4145 tSF_F_CalculateAddressOf_4145;
typedef struct SF_P_GetAddressAndSizeOfSectors_4149 tSF_P_GetAddressAndSizeOfSectors_4149;
typedef struct SF_P_FlashCommandInterpreter_4174 tSF_P_FlashCommandInterpreter_4174;
typedef struct SF_F_Find_SEARCH_ID_4180 tSF_F_Find_SEARCH_ID_4180;
typedef struct SF_P_ReadFileFromFlash_4201 tSF_P_ReadFileFromFlash_4201;
typedef struct SF_P_ReadHatFileFromFlash_4210 tSF_P_ReadHatFileFromFlash_4210;
typedef struct SF_F_IsFile_4215 tSF_F_IsFile_4215;
typedef struct SF_P_ReplaceDeviceNameWith_4229 tSF_P_ReplaceDeviceNameWith_4229;
typedef struct SF_F_FindFileInAnFCBBank_4237 tSF_F_FindFileInAnFCBBank_4237;
typedef struct SF_F_FindExtFileInAnFCBBank_4246 tSF_F_FindExtFileInAnFCBBank_4246;
typedef struct SF_F_NoOfFilesInAnFCBBank_4251 tSF_F_NoOfFilesInAnFCBBank_4251;
typedef struct SF_F_FindLastFileInAnFCBBank_4257 tSF_F_FindLastFileInAnFCBBank_4257;
typedef struct SF_F_FindNextFileInAnFCBBank_4267 tSF_F_FindNextFileInAnFCBBank_4267;
typedef struct SF_P_InsertFileNameInAnFCBBank_If_4272 tSF_P_InsertFileNameInAnFCBBank_If_4272;
typedef struct SF_P_InsertDateEtcInAnFCBBank_4276 tSF_P_InsertDateEtcInAnFCBBank_4276;
typedef struct SF_P_InsertNoOfDataBytesInAnFCBBank_4280 tSF_P_InsertNoOfDataBytesInAnFCBBank_4280;
typedef struct SF_P_RemoveFileFromAnFCBBank_4285 tSF_P_RemoveFileFromAnFCBBank_4285;
typedef struct SF_P_Report_FileError_4290 tSF_P_Report_FileError_4290;
typedef struct SF_P_Send_PFileHereIsFileAddrAckNack_4302 tSF_P_Send_PFileHereIsFileAddrAckNack_4302;
typedef struct SF_P_ContinueStartAtToken_4312 tSF_P_ContinueStartAtToken_4312;
typedef struct SF_P_FindFCBOf_512K_CodeAnywhere_4319 tSF_P_FindFCBOf_512K_CodeAnywhere_4319;
typedef struct SF_P_ResetRdSegmenting_Left_Sent_4336 tSF_P_ResetRdSegmenting_Left_Sent_4336;
typedef struct SF_P_ResetWrSegmenting_4337 tSF_P_ResetWrSegmenting_4337;
typedef struct SF_P_ResetReadFileNamesSegmenting_4339 tSF_P_ResetReadFileNamesSegmenting_4339;
typedef struct SF_P_ResetAllSegmenting_4340 tSF_P_ResetAllSegmenting_4340;
typedef struct SF_P_FillFCBAndKnownInto_I_Buffer_dat_4344 tSF_P_FillFCBAndKnownInto_I_Buffer_dat_4344;
typedef struct SF_P_UpdateInitFilesOfClient_4361 tSF_P_UpdateInitFilesOfClient_4361;
typedef struct SF_P_FindFile_512K_CodeAnywhere_4373 tSF_P_FindFile_512K_CodeAnywhere_4373;
typedef struct SF_P_VerifyFilesStatus_reportIfAllOk_4375 tSF_P_VerifyFilesStatus_reportIfAllOk_4375;
typedef struct SF_P_P_RdDeviceTypesReNack_4436 tSF_P_P_RdDeviceTypesReNack_4436;
typedef struct SF_P_P_RdFileFCBReNack_4446 tSF_P_P_RdFileFCBReNack_4446;
typedef struct SF_P_P_RdFileDataReNack_4465 tSF_P_P_RdFileDataReNack_4465;
typedef struct SF_F_CannotAccept_flashx_4477 tSF_F_CannotAccept_flashx_4477;
typedef struct SF_P_FillBufferAndProgramFile_4506 tSF_P_FillBufferAndProgramFile_4506;
typedef struct SF_P_P_WrFileDataAckNack_4514 tSF_P_P_WrFileDataAckNack_4514;
typedef struct SF_P_P_RdFileNamesReNack_4529 tSF_P_P_RdFileNamesReNack_4529;
typedef struct SF_P_P_CloneOrWrFileAckNack_4560 tSF_P_P_CloneOrWrFileAckNack_4560;
typedef struct SF_P_P_Wr_RdDataOfStructReNack_4581 tSF_P_P_Wr_RdDataOfStructReNack_4581;
typedef struct SF_P_FileServer_4586 tSF_P_FileServer_4586;
typedef struct SF_P_4589 tSF_P_4589;
typedef struct SF_P_4591 tSF_P_4591;
typedef struct SF_P_4592 tSF_P_4592;
typedef struct SF_P_4593 tSF_P_4593;
typedef struct SF_P_4594 tSF_P_4594;
typedef struct SF_P_4595 tSF_P_4595;
typedef struct SF_P_4596 tSF_P_4596;
typedef struct SF_P_4597 tSF_P_4597;
typedef struct SF_P_4600 tSF_P_4600;
typedef struct SF_P_4601 tSF_P_4601;
typedef struct SF_P_4602 tSF_P_4602;
typedef struct SF_P_4603 tSF_P_4603;
typedef struct SF_P_4604 tSF_P_4604;
typedef struct SF_P_4605 tSF_P_4605;
typedef struct SF_P_4606 tSF_P_4606;
typedef struct SF_P_M_GL100_m_gl100 tSF_P_M_GL100_m_gl100;
void P_M_GL100_m_gl100 (tSF_P_M_GL100_m_gl100 *FP);
struct SF_F_string_pos_745
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_SizeOfTextNoTrailingSpaces_751
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_InsertText_755
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_InsertCharsAndTrailingSpaces_761
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_InsertTextIfSpace_767
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_InsertTextIntoCommaSeparatedList_776
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  union
  {
    INT _P_dummy;
  } _U0;
};
struct SF_P_MakeCommaSeparatedListOf_785
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_EqualText_791
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_AlmostEqualText_798
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_FindTextBeforeToken_809
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_FindTextFromArray_815
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_ToHex_821
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_IntToHex8_825
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_ShiftLeftText_if_830
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_RemoveHexLeadingZeroes_835
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_Delay_ms_1435
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  INT DelayFor_ms_1432;
  INT time_1433;
};
struct SF_P_Add64To64_1447
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_Int32NeedOfBytes_1452
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsNotModulo4_1454
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_MinOf_1459
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_MaxOf_1464
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_RotateRight_1468
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_InRange_1472
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_InRangeREAL32_1476
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsEqualTo_1482
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsEqualTo_3_1487
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsNotIn_1493
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IOfEqualTo_1499
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsArrDim3_in_XY_ListZ_1508
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_BlackHole_1511
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *deschedule_1509;
  INT any_1510;
};
struct SF_P_BlackHoleTriggerForever_1515
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *deschedule_1512;
  INT time_1513;
};
struct SF_P_1520
{
  tHeader _Header;
  tSF_P_ErrorNoReturn_1522 *Chain;
  tSF_P_BlackHole_1511 _C5;
};
struct SF_P_1521
{
  tHeader _Header;
  tSF_P_ErrorNoReturn_1522 *Chain;
  tSF_P_BlackHoleTriggerForever_1515 _C7;
};
struct SF_P_ErrorNoReturn_1522
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan900o_1516;
  INT *NodetypeClassReason_1517;
  CHAN deschedule_1519_CHAN;
  CHAN *deschedule_1519;
  tTask _T0;
  tSF_P_1520 _C6;
  tTask _T1;
  tSF_P_1521 _C8;
};
struct SF_F_SetBits_1525
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_ClearBits_1530
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_InsertBits_1537
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_Bit_1540
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_ExtractAndAlignBits_1544
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_NextSeqCnt_1601
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_InitParsing_1602
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_IsResynch_1628
{
  tHeader _Header;
  tSF_P_ParseALPPFrameRx_1631 *Chain;
};
struct SF_P_IsNormalOrTry_1630
{
  tHeader _Header;
  tSF_P_ParseALPPFrameRx_1631 *Chain;
};
struct SF_P_ParseALPPFrameRx_1631
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  INT *lastFragmentStatus_1615;
  INT *lastSequenceCounter_1616;
  INT *resultOfInputParsing_1618;
  INT thisSequenceCounter_1624;
  INT thisFragmentStatus_1625;
  union
  {
    INT _P_dummy;
  } _U1;
};
struct SF_P_VerifyBuffer_1636
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_NoOfBytesEtcOfNextFragment_1641
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_Insert1ALPPFragment_1651
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_Insert2ALPPAddrEtc_1664
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_Insert3ALPPError_1670
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_Insert4ALPPFrame_1690
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_NoOfUnpackedBytes_1695
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_MakeTypeArray_1699
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_NoOfArrayElementsUnmasked_1701
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsTypeOfSizeParamOK_1705
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_MirrorBytesOf_1716
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_UnpackFromByteArray_1726
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_UnpackRunningElements_1739
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_UnpackElementsOfArray_1753
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_UnpackAlbumCommand_1779
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  union
  {
    INT _P_dummy;
  } _U2;
};
struct SF_P_PackToByteArray_1793
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_PackRunningElements_1806
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_PackElementsOfArray_1820
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_PackAlbumReply_1844
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  union
  {
    INT _P_dummy;
  } _U3;
};
struct SF_P_AddByteArrayToEnd_1861
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  union
  {
    INT _P_dummy;
  } _U4;
};
struct SF_P_ShiftByteArrayDown_1868
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  union
  {
    INT _P_dummy;
  } _U5;
};
struct SF_P_InsertNackEndUnpacked_1884
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  union
  {
    INT _P_dummy;
  } _U6;
};
struct SF_P_InsertAckEndUnpacked_1888
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsInINTArray_1894
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_GetAlbumDecodeSegment_1905
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan900Arrayo_1895;
  INT *AlbumDecodeLocal_1896;
  INT AlbumDecodeLocal_1896_Dim0;
  INT Command_1897;
  INT *segment_1898;
  INT segment_1898_Dim0;
  INT *noOfInt32OfSegment_1899;
  BOOL *ok_1900;
  INT SearchForNegativeOfCommand_1901;
  INT i_1902;
  INT i_1902_End;
  union
  {
    struct
    {
      INT j_1903;
      INT j_1903_End;
    } _S0;
    tSF_P_ErrorNoReturn_1522 _C42;
  } _U7;
};
struct SF_P_FillArrayWithBYTEs_1909
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_IsSemanticsOutput_1911
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_GetProtocolType_1914
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_SetProtocolType_1917
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_GetNoOfInt32OfTheProtocol_1920
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_SetNoOfInt32OfTheProtocol_1923
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_GetTheProtocolCmd_1926
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_SetTheProtocolCmd_1929
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_CheckEnvelope_1932
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_EnvelopeLen_1936
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_MakeSimpleCommand_1940
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_I01_CodeCksumTst_1949
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_CodeCksumTst_1953
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  BOOL CrashIfError_1950;
  CHAN *chan900o_1951;
  INT error_1952;
  union
  {
    tSF_P_Delay_ms_1435 _C43;
  } _U8;
};
struct SF_P_OnOrOffOrKeep_1965
{
  tHeader _Header;
  tSF_P_ExceptionBlinker_1981 *Chain;
};
struct SF_P_ExceptionBlinker_1981
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN **chan300i_1962;
  INT chan300i_1962_Dim0;
  INT sequenceGreen_1967;
  INT sequenceYellow_1968;
  INT noOfTransitions_1969;
  BOOL running_1970;
  BOOL blinking_1971;
  BOOL pendingStop_1972;
  BOOL toggleState_1973;
  BOOL greenOnSoft_1974;
  BOOL yellowOnSoft_1975;
  INT time_1976;
  INT i_1978_Alt;
  INT i_1978;
  INT i_1978_End;
  union
  {
    INT _P_dummy;
  } _U9;
};
struct SF_P_ExceptionBuffer_1985
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chanIn_1982;
  CHAN *chanOut_1983;
  INT nodetypeClassReason_1984[3];
};
struct SF_P_ExceptionDemux_1990
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN **chanIn_1986;
  INT chanIn_1986_Dim0;
  CHAN *chanOut_1987;
  INT nodetypeClassReason_1988[3];
  INT i_1989_Alt;
  INT i_1989;
  INT i_1989_End;
};
struct SF_P_Init_2005
{
  tHeader _Header;
  tSF_P_ExceptionHandler_2010 *Chain;
};
struct SF_P_ExceptionHandler_2010
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chanExceptionIn_1991;
  CHAN *chanExceptionReportOut_1992;
  CHAN *chan050i_1993;
  CHAN *chan051o_1994;
  BOOL AllowSendOn_chan271o_1995;
  CHAN *chan270Arrayi_1996;
  CHAN *chan271Arrayo_1997;
  CHAN *chan300o_1998;
  CHAN *chan400i_1999;
  BOOL controlOfLEDsTaken_2000;
  INT prevNodetypeClassReason_2001[3];
  INT time_2002;
  union
  {
    struct
    {
      INT thisNodetypeClassReason_2006[3];
      INT localTime_2007;
    } _S1;
    struct
    {
      BOOL loggingOn_2009;
    } _S2;
  } _U10;
};
struct SF_P_InitDualPort0_2024
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_F_InitDualPort1_2027
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
};
struct SF_P_TestDualPortAtLinkLevel_2046
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan300_2028;
  BOOL *dualPortError_2029;
  INT noOfSuccessfulAcquire_2030;
  INT noOfMissedAcquire_2031;
  INT iOfTimeout_2032;
  INT time_2033;
  INT noOfTokenOk_2035;
  INT token_2036;
  BOOL continue_2037;
  INT *Timeout_ms_2040;
  BOOL granted_2044;
  INT dataRead_2045;
};
struct SF_P_InitAndTestDualPort_2053
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan300_2047;
  INT TimeAlreadySpent_ms_2048;
  BOOL *dualPortError_2049;
  INT time_2050;
  union
  {
    struct
    {
      INT Wait_2052;
    } _S3;
    tSF_P_TestDualPortAtLinkLevel_2046 _C52;
  } _U11;
};
struct SF_P_DisplayEventCnts_2086
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  CHAN **stamp_2081;
  INT success_2082[4];
  INT i_2084_Alt;
  INT i_2084;
  BOOL ok_2085;
};
struct SF_P_ReleaseAndZero_2109
{
  tHeader _Header;
  tSF_P_DualPortAcquireAndRelease_2113 *Chain;
};
struct SF_P_DualPortAcquireAndRelease_2113
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  CHAN **request_2087;
  CHAN **grant_2088;
  CHAN **release_2089;
  INT state_2090;
  INT noOfClientGrants_2094;
  INT iOfRequester_2096;
  BOOL granted_2097;
  INT time_2098;
  INT timeMax_ms_2101;
  INT timeMin_ms_2102;
  INT timeMean_ms_2103;
  INT timePre_2104;
  INT timePost_2105;
  INT *IFair_2107;
  union
  {
    struct
    {
      INT i_2110_Alt;
      INT i_2110;
      union
      {
	struct
	{
	  BOOL theRequest_2111;
	} _S5;
      } _U13;
    } _S4;
    struct
    {
      BOOL released_2112;
    } _S6;
  } _U12;
};
struct SF_P_ExtractLonParametres_2134
{
  tHeader _Header;
  tSF_P_DualPortPoll_2148 *Chain;
};
struct SF_P_DualPortPoll_2148
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  CHAN *chan1000i_local_2114;
  CHAN **packetFromDualPort_2115;
  CHAN *request_2116;
  CHAN *grant_2117;
  CHAN *release_2118;
  CHAN *chan900oLocal_2119;
  CHAN **stamp_2120;
  INT stamp_2120_Dim0;
  CHAN *chan310oLocal_2121;
  CHAN *chan300oLocal_2122;
  INT time_2135;
  INT chan310_ms_2137;
  INT seqCntForTest_2138;
  INT iOfConsumer_2139;
  union
  {
    BOOL granted_2140;
    struct
    {
      INT status_2141;
      INT interfaceAndPacket_2142[58];
      INT noOfBytesOfPacket_2143;
      INT subnetNodeAddress_2144;
      union
      {
	struct
	{
	  INT NoOfInt32_2145;
	  INT PacketOfInt32_2146_Dim_437918235;/*SMW*/
	  INT *PacketOfInt32_2146;
	  CHAN outChan_2147_CHAN;
	  CHAN *outChan_2147;
	} _S8;
      } _U15;
    } _S7;
  } _U14;
};
struct SF_P_InsertLonParametres_2176
{
  tHeader _Header;
  tSF_P_DualPortWrite_2197 *Chain;
};
struct SF_P_PrepareTimers_2184
{
  tHeader _Header;
  tSF_P_DualPortWrite_2197 *Chain;
};
struct SF_P_TryToWrite_2190
{
  tHeader _Header;
  tSF_P_DualPortWrite_2197 *Chain;
  BOOL *written_2186;
  union
  {
    BOOL granted_2187;
    BOOL granted_2188;
    struct
    {
      INT status_2189;
    } _S9;
  } _U16;
};
struct SF_P_DualPortWrite_2197
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  INT IOfPort_2149;
  CHAN *chan011iLocal_2150;
  CHAN *request_2151;
  CHAN *grant_2152;
  CHAN *release_2153;
  CHAN *chan900oLocal_2154;
  CHAN *stamp_2155;
  CHAN *chan300oLocal_2156;
  INT stateOfWrite_2177;
  INT interval_2181;
  INT timeout_2182;
  INT interfaceAndPacket_2185[58];
  union
  {
    struct
    {
      INT noOfBytesOfPacket_2191;
      INT noOfInt32OfPacket_2192;
      INT subnetNodeAddress_2193;
      INT packet_2194[57];
      BOOL written_2195;
      union
      {
	tSF_P_TryToWrite_2190 _C57;
      } _U18;
    } _S10;
    struct
    {
      BOOL written_2196;
      tSF_P_TryToWrite_2190 _C60;
    } _S11;
  } _U17;
};
struct SF_P_2208
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  tSF_P_DisplayEventCnts_2086 _C61;
};
struct SF_P_2209
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  tSF_P_DualPortAcquireAndRelease_2113 _C63;
};
struct SF_P_2210
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  tSF_P_DualPortWrite_2197 _C65;
};
struct SF_P_2211
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  tSF_P_DualPortWrite_2197 _C67;
};
struct SF_P_2216
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  CHAN stamp2_2212_CHAN;
  CHAN *stamp2_2212;
  CHAN stamp3_2213_CHAN;
  CHAN *stamp3_2213;
  CHAN _V22_2214_CHAN[2];
  CHAN *_V22_2214[2];
  CHAN _V21_2215_CHAN[2];
  CHAN *_V21_2215[2];
  tSF_P_DualPortPoll_2148 _C69;
};
struct SF_P_2217
{
  tHeader _Header;
  tSF_P_DualPortDriverFather_2218 *Chain;
  tSF_P_ExceptionDemux_1990 _C71;
};
struct SF_P_DualPortDriverFather_2218
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  BOOL DualPortError_2054;
  CHAN *chan1000i_2055;
  CHAN *chan001i_2056;
  CHAN *chan000o_2057;
  CHAN *chan011i_2058;
  CHAN *chan010o_2059;
  BOOL AllowSendOn_chan310o_2060;
  CHAN *chan310o_2061;
  BOOL AllowSendOn_chan300o_2062;
  CHAN **chan300o_2063;
  INT chan300o_2063_Dim0;
  CHAN *chan900o_2064;
  CHAN chan900internal_2199_CHAN[3];
  CHAN *chan900internal_2199[3];
  CHAN request_2201_CHAN[3];
  CHAN *request_2201[3];
  CHAN grant_2203_CHAN[3];
  CHAN *grant_2203[3];
  CHAN release_2205_CHAN[3];
  CHAN *release_2205[3];
  CHAN stamp_2207_CHAN[4];
  CHAN *stamp_2207[4];
  tTask _T2;
  tSF_P_2208 _C62;
  tTask _T3;
  tSF_P_2209 _C64;
  tTask _T4;
  tSF_P_2210 _C66;
  tTask _T5;
  tSF_P_2211 _C68;
  tTask _T6;
  tSF_P_2216 _C70;
  tTask _T7;
  tSF_P_2217 _C72;
};
struct SF_P_InsertRxXYF32CrvEndUnpacked_2244
{
  tHeader _Header;
  tSF_P_CurveServer_2281 *Chain;
};
struct SF_P_Clear_oBuff_send_2260
{
  tHeader _Header;
  tSF_P_CurveServer_2281 *Chain;
};
struct SF_P_CurveServer_2281
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan400i_2219;
  CHAN *chan091i_2220;
  CHAN *chan090o_2221;
  CHAN **toServers_2222;
  INT toServers_2222_Dim0;
  CHAN **fromServers_2223;
  INT fromServers_2223_Dim0;
  CHAN *chan900o_2224;
  INT segmNoOfElemSent_2245;
  INT segmNoOfElemLeft_2246;
  INT segmIOfAlbSmallArrayLen_2247[6];
  INT segmOrigLenOfSmallArrays_2248[6];
  BOOL segmNow_2249;
  INT oBuff_envelopeAppl_2250[2794];
  INT oBuff_noOfInt32OfEnvelope_2251;
  BOOL awaitingReply_2252;
  BOOL serverWasOffended_2253;
  INT ncr_2254[3];
  BOOL ncr_sendNackToClient_2255;
  BOOL oBuff_sendCurveToClient_2256;
  BOOL oBuff_sendOnAllToClient_2257;
  BOOL oBuff_skipReply_2258;
  INT saveForNack_2259[3];
  union
  {
    struct
    {
      INT i_2267_Alt;
      INT i_2267;
      INT i_2267_End;
      union
      {
	struct
	{
	  BOOL somebodyIsLoggingOn_2262;
	  union
	  {
	    INT _P_dummy;
	  } _U21;
	} _S13;
	struct
	{
	  INT iBuff_envelopeAppl_2263[7];
	  INT iBuff_noOfInt32OfEnvelope_2264;
	  INT protType_2265;
	  INT protCmd_2266;
	  union
	  {
	    tSF_P_ErrorNoReturn_1522 _C80;
	  } _U22;
	} _S14;
	struct
	{
	  INT protType_2268;
	  INT protCmd_2269;
	  union
	  {
	    tSF_P_ErrorNoReturn_1522 _C94;
	    tSF_P_ErrorNoReturn_1522 _C90;
	  } _U23;
	} _S15;
	struct
	{
	  INT noOfInt32OfTheProtocol_2270;
	  union
	  {
	    INT _P_dummy;
	  } _U24;
	} _S16;
	struct
	{
	  INT envelope_2277[30];
	  INT noOfInt32OfTheProtocol_2278;
	  union
	  {
	    INT _P_dummy;
	  } _U25;
	} _S17;
      } _U20;
    } _S12;
  } _U19;
};
struct SF_P_Input_2296
{
  tHeader _Header;
  tSF_P_OverWrBuff_ExceptionHandler_2308 *Chain;
  INT *buffer_2286;
  INT buffer_2286_Dim0;
  CHAN *input_2287;
  CHAN *acknowledged_2288;
  CHAN *output_2289;
  INT noOfPackets_2290;
  BOOL waitingForAcknowledge_2291;
  INT time_2292;
  BOOL allowNewInput_2294;
  BOOL ack_2295;
};
struct SF_P_Output_2301
{
  tHeader _Header;
  tSF_P_OverWrBuff_ExceptionHandler_2308 *Chain;
  INT *buffer_2297;
  INT buffer_2297_Dim0;
  CHAN *input_2298;
  CHAN *acknowledge_2299;
  CHAN *output_2300;
};
struct SF_P_2306
{
  tHeader _Header;
  tSF_P_OverWrBuff_ExceptionHandler_2308 *Chain;
  tSF_P_Input_2296 _C95;
};
struct SF_P_2307
{
  tHeader _Header;
  tSF_P_OverWrBuff_ExceptionHandler_2308 *Chain;
  tSF_P_Output_2301 _C97;
};
struct SF_P_OverWrBuff_ExceptionHandler_2308
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  INT *bufferIn_2282;
  INT bufferIn_2282_Dim0;
  INT *bufferOut_2283;
  INT bufferOut_2283_Dim0;
  CHAN *in_2284;
  CHAN *out_2285;
  CHAN local_2303_CHAN;
  CHAN *local_2303;
  CHAN acknowledge_2305_CHAN;
  CHAN *acknowledge_2305;
  tTask _T8;
  tSF_P_2306 _C96;
  tTask _T9;
  tSF_P_2307 _C98;
};
struct SF_P_Input_2325
{
  tHeader _Header;
  tSF_P_OverWrBuff_FileServer_2339 *Chain;
  CHAN **localInputs_2314;
  CHAN *acknowledged_2315;
  CHAN *localOutput_2316;
  BOOL waitingForAcknowledge_2317;
  INT buffer_2318[4][1363];
  INT noOfInt32OfEnvelope_2319[4];
  INT noOfPackets_2320[4];
  INT i_2322_Alt;
  INT i_2322;
  INT i_2324_Alt;
  INT i_2324;
  BOOL ack_2323;
};
struct SF_P_Output_2332
{
  tHeader _Header;
  tSF_P_OverWrBuff_FileServer_2339 *Chain;
  CHAN *localInput_2326;
  CHAN *acknowledge_2327;
  CHAN *localOutput_2328;
  INT buffer_2329[1363];
  INT noOfInt32OfEnvelope_2330;
  BOOL isLoggedOn_2331;
};
struct SF_P_2337
{
  tHeader _Header;
  tSF_P_OverWrBuff_FileServer_2339 *Chain;
  tSF_P_Input_2325 _C99;
};
struct SF_P_2338
{
  tHeader _Header;
  tSF_P_OverWrBuff_FileServer_2339 *Chain;
  tSF_P_Output_2332 _C101;
};
struct SF_P_OverWrBuff_FileServer_2339
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN **inputs_2309;
  CHAN *output_2310;
  CHAN *chan261i_2311;
  CHAN *chan260o_2312;
  CHAN local_2334_CHAN;
  CHAN *local_2334;
  CHAN acknowledge_2336_CHAN;
  CHAN *acknowledge_2336;
  tTask _T10;
  tSF_P_2337 _C100;
  tTask _T11;
  tSF_P_2338 _C102;
};
struct SF_P_Input_2355
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlbumPackets_2385 *Chain;
  CHAN *localInput_2344;
  CHAN *acknowledged_2345;
  CHAN *localOutput_2346;
  CHAN *localError_chan900o_2347;
  INT packet_2348[57];
  INT numberOfBytesOfPacket_2349;
  INT numberOfInt32OfPacket_2350;
  INT subnetNodeAddress_2351;
  BOOL waitingForAcknowledge_2352;
  INT noOfPackets_2353;
  BOOL ack_2354;
};
struct SF_P_Output_2363
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlbumPackets_2385 *Chain;
  CHAN *localInput_2356;
  CHAN *acknowledge_2357;
  CHAN *localOutput_2358;
  INT packet_2359[57];
  INT numberOfBytesOfPacket_2360;
  INT numberOfInt32OfPacket_2361;
  INT subnetNodeAddress_2362;
};
struct SF_P_Buffer_2370
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlbumPackets_2385 *Chain;
  CHAN *localInput_2364;
  CHAN *localOutput_2365;
  INT packet_2366[57];
  INT numberOfBytesOfPacket_2367;
  INT numberOfInt32OfPacket_2368;
  INT subnetNodeAddress_2369;
};
struct SF_P_2378
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlbumPackets_2385 *Chain;
  tSF_P_Input_2355 _C103;
};
struct SF_P_2379
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlbumPackets_2385 *Chain;
  tSF_P_Output_2363 _C105;
};
struct SF_P_2382
{
  tHeader _Header;
  tSF_P_2383 *Chain;
  INT i_2380;
  tSF_P_Buffer_2370 _C107;
};
struct SF_P_2383
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlbumPackets_2385 *Chain;
  tTask _T14[9];
  tSF_P_2382 _C108[9];
};
struct SF_P_2384
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlbumPackets_2385 *Chain;
  tSF_P_Buffer_2370 _C110;
};
struct SF_P_OverWrBuff_AlbumPackets_2385
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *input_2340;
  CHAN *output_2341;
  CHAN *chan900o_2342;
  CHAN acknowledge_2373_CHAN;
  CHAN *acknowledge_2373;
  CHAN local_2375_CHAN;
  CHAN *local_2375;
  CHAN buffChans_2377_CHAN[10];
  CHAN *buffChans_2377[10];
  tTask _T12;
  tSF_P_2378 _C104;
  tTask _T13;
  tSF_P_2379 _C106;
  tTask _T15;
  tSF_P_2383 _C109;
  tTask _T16;
  tSF_P_2384 _C111;
};
struct SF_P_Input_2395
{
  tHeader _Header;
  tSF_P_OverWrBuff_INT_2407 *Chain;
  CHAN *input_2388;
  CHAN *acknowledged_2389;
  CHAN *output_2390;
  INT noOfPackets_2391;
  BOOL waitingForAcknowledge_2392;
  INT buffer_2393;
  BOOL ack_2394;
};
struct SF_P_Output_2400
{
  tHeader _Header;
  tSF_P_OverWrBuff_INT_2407 *Chain;
  CHAN *input_2396;
  CHAN *acknowledge_2397;
  CHAN *output_2398;
  INT buffer_2399;
};
struct SF_P_2405
{
  tHeader _Header;
  tSF_P_OverWrBuff_INT_2407 *Chain;
  tSF_P_Input_2395 _C112;
};
struct SF_P_2406
{
  tHeader _Header;
  tSF_P_OverWrBuff_INT_2407 *Chain;
  tSF_P_Output_2400 _C114;
};
struct SF_P_OverWrBuff_INT_2407
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *in_2386;
  CHAN *out_2387;
  CHAN local_2402_CHAN;
  CHAN *local_2402;
  CHAN acknowledge_2404_CHAN;
  CHAN *acknowledge_2404;
  tTask _T17;
  tSF_P_2405 _C113;
  tTask _T18;
  tSF_P_2406 _C115;
};
struct SF_P_Input_2420
{
  tHeader _Header;
  tSF_P_OverWrBuff_Envelope_2433 *Chain;
  INT *buffer_2412;
  INT buffer_2412_Dim0;
  CHAN *input_2413;
  CHAN *acknowledged_2414;
  CHAN *output_2415;
  INT noOfPackets_2416;
  BOOL waitingForAcknowledge_2417;
  INT noOfInt32s_2418;
  BOOL ack_2419;
};
struct SF_P_Output_2426
{
  tHeader _Header;
  tSF_P_OverWrBuff_Envelope_2433 *Chain;
  INT *buffer_2421;
  INT buffer_2421_Dim0;
  CHAN *input_2422;
  CHAN *acknowledge_2423;
  CHAN *output_2424;
  INT noOfInt32s_2425;
};
struct SF_P_2431
{
  tHeader _Header;
  tSF_P_OverWrBuff_Envelope_2433 *Chain;
  tSF_P_Input_2420 _C116;
};
struct SF_P_2432
{
  tHeader _Header;
  tSF_P_OverWrBuff_Envelope_2433 *Chain;
  tSF_P_Output_2426 _C118;
};
struct SF_P_OverWrBuff_Envelope_2433
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  INT *bufferIn_2408;
  INT bufferIn_2408_Dim0;
  INT *bufferOut_2409;
  INT bufferOut_2409_Dim0;
  CHAN *in_2410;
  CHAN *out_2411;
  CHAN local_2428_CHAN;
  CHAN *local_2428;
  CHAN acknowledge_2430_CHAN;
  CHAN *acknowledge_2430;
  tTask _T19;
  tSF_P_2431 _C117;
  tTask _T20;
  tSF_P_2432 _C119;
};
struct SF_P_FillBuffer_2447
{
  tHeader _Header;
  tSF_P_Input_2468 *Chain;
};
struct SF_P_EmptyBuffer_2451
{
  tHeader _Header;
  tSF_P_Input_2468 *Chain;
};
struct SF_P_Input_2468
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlarmServer_2481 *Chain;
  CHAN *input_2438;
  CHAN *acknowledged_2439;
  CHAN *output_2440;
  INT buffer_2443[23];
  INT time_2452;
  union
  {
    struct
    {
      INT noOfPackets_2454;
      BOOL waitingForAcknowledge_2455;
      union
      {
	struct
	{
	  BOOL ack_2456;
	} _S19;
	struct
	{
	  INT noOfInt32OfNaked_2457;
	  INT envelopeNaked_2458[5];
	  INT status_2459;
	} _S20;
      } _U27;
    } _S18;
  } _U26;
};
struct SF_P_Output_2474
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlarmServer_2481 *Chain;
  CHAN *input_2469;
  CHAN *acknowledge_2470;
  CHAN *output_2471;
  INT noOfInt32OfEnvelope_2472;
  INT envelope_2473[23];
};
struct SF_P_2479
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlarmServer_2481 *Chain;
  tSF_P_Input_2468 _C124;
};
struct SF_P_2480
{
  tHeader _Header;
  tSF_P_OverWrBuff_AlarmServer_2481 *Chain;
  tSF_P_Output_2474 _C126;
};
struct SF_P_OverWrBuff_AlarmServer_2481
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *in_2434;
  CHAN *out_2435;
  CHAN *chan900o_2436;
  CHAN local_2476_CHAN;
  CHAN *local_2476;
  CHAN acknowledge_2478_CHAN;
  CHAN *acknowledge_2478;
  tTask _T21;
  tSF_P_2479 _C125;
  tTask _T22;
  tSF_P_2480 _C127;
};
struct SF_P_ResetToPowerUpState_2503
{
  tHeader _Header;
  tSF_P_AlarmServer_2524 *Chain;
};
struct SF_P_AlarmServer_2524
{
  tHeader _Header;
  tSF_P_AlarmServerFather_2532 *Chain;
  CHAN *chan211i_local_2491;
  CHAN *chan900o_2492;
  INT envelope_2495[1363];
  INT fence_2496;
  INT stateOfAlaSrv_2497;
  union
  {
    struct
    {
      INT noOfInt32OfEnvelope_2504;
      union
      {
	INT _P_dummy;
      } _U29;
    } _S21;
    struct
    {
      INT noOfInt32OfEnvelope_2505;
    } _S22;
    struct
    {
      INT noOfInt32OfEnvelope_2506;
    } _S23;
    struct
    {
      INT protCmd_2510;
      INT protType_2511;
      union
      {
	struct
	{
	  INT error_2512;
	  union
	  {
	    struct
	    {
	      INT noOfInt32OfEnvelope_2515;
	      union
	      {
		INT _P_dummy;
	      } _U32;
	    } _S26;
	    struct
	    {
	      INT iOfClientToReplyTo_2516;
	      CHAN chan150o_r_2520_CHAN;
	      CHAN *chan150o_r_2520;
	      CHAN chan340o_r_2521_CHAN;
	      CHAN *chan340o_r_2521;
	      CHAN replyChannel_2523_CHAN[2];
	      CHAN *replyChannel_2523[2];
	    } _S27;
	  } _U31;
	} _S25;
      } _U30;
    } _S24;
  } _U28;
};
struct SF_P_2529
{
  tHeader _Header;
  tSF_P_AlarmServerFather_2532 *Chain;
  tSF_P_OverWrBuff_AlarmServer_2481 _C141;
};
struct SF_P_2530
{
  tHeader _Header;
  tSF_P_AlarmServerFather_2532 *Chain;
  tSF_P_AlarmServer_2524 _C143;
};
struct SF_P_2531
{
  tHeader _Header;
  tSF_P_AlarmServerFather_2532 *Chain;
  tSF_P_ExceptionDemux_1990 _C145;
};
struct SF_P_AlarmServerFather_2532
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan151i_2482;
  CHAN *chan150o_2483;
  CHAN *chan211i_2484;
  CHAN *chan210o_2485;
  CHAN *chan181i_2486;
  CHAN *chan180o_2487;
  CHAN *chan320i_2488;
  CHAN *chan340o_2489;
  CHAN *chan900oFather_2490;
  CHAN chan211Local_2526_CHAN;
  CHAN *chan211Local_2526;
  CHAN chan900Local_2528_CHAN[2];
  CHAN *chan900Local_2528[2];
  tTask _T23;
  tSF_P_2529 _C142;
  tTask _T24;
  tSF_P_2530 _C144;
  tTask _T25;
  tSF_P_2531 _C146;
};
struct SF_P_ResetToPowerUpState_2550
{
  tHeader _Header;
  tSF_P_VolumeServer_2569 *Chain;
};
struct SF_P_VolumeServer_2569
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan161i_2533;
  CHAN *chan160o_2534;
  CHAN *chan220o_2535;
  CHAN *chan191i_2536;
  CHAN *chan190o_2537;
  CHAN *chan330i_2538;
  CHAN *chan350o_2539;
  CHAN *chan900o_2540;
  INT envelope_2542[1363];
  INT fence_2543;
  INT stateOfVolSrv_2544;
  union
  {
    struct
    {
      INT noOfInt32OfEnvelope_2551;
    } _S28;
    struct
    {
      INT noOfInt32OfEnvelope_2552;
    } _S29;
    struct
    {
      INT protCmd_2556;
      INT protType_2557;
      union
      {
	struct
	{
	  INT error_2558;
	  union
	  {
	    struct
	    {
	      INT iOfClientToReplyTo_2561;
	      CHAN chan160o_r_2565_CHAN;
	      CHAN *chan160o_r_2565;
	      CHAN chan350o_r_2566_CHAN;
	      CHAN *chan350o_r_2566;
	      CHAN replyChannel_2568_CHAN[2];
	      CHAN *replyChannel_2568[2];
	    } _S32;
	  } _U35;
	} _S31;
      } _U34;
    } _S30;
  } _U33;
};
struct SF_P_UllcalcGetsADConv_2593
{
  tHeader _Header;
  tSF_P_UllCalc_2689 *Chain;
  INT *envelope_2585;
  INT envelope_2585_Dim0;
  INT GetSwpCmd_2586;
  INT NoOfRawData_2587;
  BOOL *hDriverError_2588;
  INT noOfRawDataSent_2589;
  INT noOfRawDataLeft_2590;
  INT iOfEnvelope_2591;
  INT noOfRawDataNow_2592;
};
struct SF_F_DMADefaultValuesErr_2600
{
  tHeader _Header;
  tSF_P_UllCalc_2689 *Chain;
};
struct SF_P_TestHRawDriver_2610
{
  tHeader _Header;
  tSF_P_UllCalc_2689 *Chain;
  INT *envelope_2601;
  INT envelope_2601_Dim0;
  BOOL *hDriverError_2602;
  INT *Cmd_2604;
  INT x_2605;
  INT time1_2606;
  INT time2_2607;
  INT timeDiff_2608;
  tSF_P_UllcalcGetsADConv_2593 _C155;
};
struct SF_P_InformCurveServerBreakpointRemoved_2639
{
  tHeader _Header;
  tSF_P_UllCalc_2689 *Chain;
  INT reply_2635[30];
  union
  {
    INT _P_dummy;
  } _U36;
};
struct SF_P_ResetToPowerUpState_2641
{
  tHeader _Header;
  tSF_P_UllCalc_2689 *Chain;
  INT State_2640;
  union
  {
    tSF_P_InformCurveServerBreakpointRemoved_2639 _C160;
  } _U37;
};
struct SF_P_UllCalc_2689
{
  tHeader _Header;
  tSF_P_UllCalcFather_2701 *Chain;
  CHAN *chan231iLocal_2583;
  CHAN *deschedule_2584;
  INT noOfInt32OfEnvelope_2611;
  INT noOfRawData_2612;
  BOOL hDriverError_2613;
  INT saveForNack_2614[3];
  INT envelope_2615[2794];
  INT fence_2616;
  INT stateOfUllCalc_2617;
  INT stateOfCurveServer_2623;
  INT timeMax_ms_2627;
  INT timeMin_ms_2628;
  INT timeMean_ms_2629;
  INT sum_ms_2630;
  INT noOfCCalls_2631;
  BOOL chan310_causedShortYield_2632;
  INT chan310_timeout_2633;
  union
  {
    tSF_P_TestHRawDriver_2610 _C161;
    tSF_P_ResetToPowerUpState_2641 _C162;
    struct
    {
      BOOL okInput_2642;
      BOOL okProcess_2643;
      union
      {
	struct
	{
	  INT chan310_ms_2644;
	} _S34;
	struct
	{
	  INT noOfInt32s_2645;
	  union
	  {
	    INT _P_dummy;
	  } _U40;
	} _S35;
	struct
	{
	  INT protCmd_2648;
	  INT protType_2649;
	  INT timePre_2651;
	  INT timePost_2652;
	  union
	  {
	    struct
	    {
	      INT error_2654;
	      INT iOfClientToReplyTo_2657;
	      union
	      {
		struct
		{
		  INT getSwpCmd_2662;
		  tSF_P_UllcalcGetsADConv_2593 _C179;
		} _S38;
		struct
		{
		  INT out_2672[14];
		  INT len_2673;
		  union
		  {
		    INT _P_dummy;
		  } _U43;
		} _S39;
		struct
		{
		  INT out_2678[14];
		  INT len_2679;
		  union
		  {
		    INT _P_dummy;
		  } _U44;
		} _S40;
		tSF_P_ResetToPowerUpState_2641 _C185;
		tSF_P_ResetToPowerUpState_2641 _C184;
		struct
		{
		  CHAN chan200o_r_2684_CHAN;
		  CHAN *chan200o_r_2684;
		  CHAN chan170o_r_2685_CHAN;
		  CHAN *chan170o_r_2685;
		  CHAN chan360o_r_2686_CHAN;
		  CHAN *chan360o_r_2686;
		  union
		  {
		    CHAN replyChannel_2688_CHAN[3];
		    CHAN *replyChannel_2688[3];
		  } _U45;
		} _S41;
		tSF_P_InformCurveServerBreakpointRemoved_2639 _C186;
	      } _U42;
	    } _S37;
	  } _U41;
	} _S36;
      } _U39;
    } _S33;
  } _U38;
};
struct SF_P_2698
{
  tHeader _Header;
  tSF_P_UllCalcFather_2701 *Chain;
  INT bufferIn_2694[32];
  INT bufferOut_2695[32];
  CHAN in_2696_CHAN;
  CHAN *in_2696;
  CHAN out_2697_CHAN;
  CHAN *out_2697;
  tSF_P_OverWrBuff_Envelope_2433 _C187;
};
struct SF_P_2699
{
  tHeader _Header;
  tSF_P_UllCalcFather_2701 *Chain;
  tSF_P_UllCalc_2689 _C189;
};
struct SF_P_2700
{
  tHeader _Header;
  tSF_P_UllCalcFather_2701 *Chain;
  tSF_P_BlackHole_1511 _C191;
};
struct SF_P_UllCalcFather_2701
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan171i_2570;
  CHAN *chan170o_2571;
  CHAN *chan250i_2572;
  CHAN *chan251o_2573;
  CHAN *chan231i_2574;
  CHAN *chan230o_2575;
  CHAN *chan201i_2576;
  CHAN *chan200o_2577;
  CHAN *chan310i_2578;
  CHAN *chan320o_2579;
  CHAN *chan330o_2580;
  CHAN *chan360o_2581;
  CHAN *chan900o_2582;
  CHAN deschedule_2691_CHAN;
  CHAN *deschedule_2691;
  CHAN chan231iLocal_2693_CHAN;
  CHAN *chan231iLocal_2693;
  tTask _T26;
  tSF_P_2698 _C188;
  tTask _T27;
  tSF_P_2699 _C190;
  tTask _T28;
  tSF_P_2700 _C192;
};
struct SF_P_ReadAutoselect_2769
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_WriteINT16_2775
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_ReadINT32_2778
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_VerifyINT32Address_2781
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_VerifyINT32_2785
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_WriteINT32AndVerify_2793
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
  union
  {
    INT _P_dummy;
  } _U46;
};
struct SF_F_AddressOf_2795
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_F_IOfSectorOf_2797
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_F_Int32AddressOf_2801
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_F_VerifyFlashType_2807
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_F_FlashNotOk_2809
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_ResetRestoreState_2810
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_GetManufacturerAndDeviceCodes_2813
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
  union
  {
    INT _P_dummy;
  } _U47;
};
struct SF_P_SectorEraseAndVerify_2835
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
  union
  {
    INT _P_dummy;
  } _U48;
};
struct SF_P_Copy_2846
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
  INT AddressOfInt32Src_2836;
  INT AddressOfInt32Dest_2837;
  INT NoOfInt32s_2838;
  INT *checksum_2839;
  INT *status_2840;
  INT i_2841;
  INT timePre_2842;
  INT value_2844;
  union
  {
    struct
    {
      INT timePost_2845;
    } _S42;
  } _U49;
};
struct SF_P_Nopy_2855
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
  INT AddressOfInt32Dest_2847;
  INT NoOfInt32s_2848;
  INT *checksum_2849;
  INT i_2850;
  INT timePre_2851;
  INT value_2853;
  union
  {
    struct
    {
      INT timePost_2854;
    } _S43;
  } _U50;
};
struct SF_P_CalculateSector_2872
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
};
struct SF_P_GetSectorInfo_2881
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
  union
  {
    INT _P_dummy;
  } _U51;
};
struct SF_P_SetSectorInfo_2891
{
  tHeader _Header;
  tSF_P_FlashDriver_3011 *Chain;
  union
  {
    INT _P_dummy;
  } _U52;
};
struct SF_P_FlashDriver_3011
{
  tHeader _Header;
  tSF_P_FlashDriverFather_3016 *Chain;
  CHAN *deschedule_2708;
  INT *LockUpAddresses_2723;
  INT *Commands_2725;
  INT x_noOfLockUpCycluses_2738;
  INT x_lockUpAddresses_2739[5];
  INT x_commands_2740[5];
  BOOL x_directionWr_2741;
  INT x_address_2742;
  INT x_writeData_2743;
  BOOL x_doReadReset_2744;
  INT x_pollingCnt_2745[2];
  INT x_readData_2746;
  INT x_status_2747;
  INT iOfFlashType_2749;
  INT iOfFlashLastVerifiedFlashType_2750;
  INT stateOfSector_2752[8];
  INT stateOfFlash_2756;
  INT highestWriteAddress_2759;
  INT lowestWriteAddress_2760;
  INT addressOfScrCopy_2761;
  INT addressOfDestCopy_2762;
  INT noOfValuesOfCopy_2763;
  INT addressOfWindow_2764;
  INT noOfValuesOfWindow_2765;
  INT addressOfWindowPrev_2766;
  BOOL firstInit_2892;
  union
  {
    struct
    {
      INT manufacturerCode_2894;
      INT deviceCode_2895;
      union
      {
	struct
	{
	  INT readStatus_2896;
	  INT writeStatus_2897;
	  BOOL fileSectorOK_2914;
	  BOOL copySectorOK_2915;
	  BOOL allFFFileSector_2916;
	  BOOL allFFCopySector_2917;
	  union
	  {
	    struct
	    {
	      INT stateOfFileSector_2918;
	      INT checksumFileSector_2919;
	      INT theChecksumOfFileSector_2920;
	      union
	      {
		INT _P_dummy;
	      } _U56;
	    } _S46;
	    struct
	    {
	      BOOL doError_2925;
	      INT checksumCopySector_2926;
	      INT status1_2927;
	      INT status2_2928;
	      INT status3_2929;
	      INT addressOfScr_2930;
	      INT addressOfDest_2931;
	      INT noOfValues_2932;
	      union
	      {
		tSF_P_Copy_2846 _C217;
	      } _U57;
	    } _S47;
	  } _U55;
	} _S45;
      } _U54;
    } _S44;
    struct
    {
      INT addressOfInt32OfSector_2945[8];
      INT noOfInt32s_2946[8];
    } _S48;
    struct
    {
      INT iOfSector_2958;
      INT status_2959;
    } _S49;
    struct
    {
      INT addressOfInt32_2962;
      INT noOfInt32s_2963;
      INT buffer_2966[256];
    } _S50;
    struct
    {
      INT iOfSectorSrc_2969;
      INT iOfSectorDest_2970;
      INT status_2971;
      INT checksum_2974;
      union
      {
	tSF_P_Copy_2846 _C221;
      } _U58;
    } _S51;
    struct
    {
      INT buffer_2987[256];
      INT addressOfWindowNow_2988;
      INT noOfValuesOfWindowNow_2989;
      INT status_2990;
      union
      {
	INT _P_dummy;
      } _U59;
    } _S52;
    struct
    {
      INT status_2997;
      union
      {
	struct
	{
	  INT src1_3000;
	  INT src2_3001;
	  INT dest1_3002;
	  INT dest2_3003;
	  INT len1_3004;
	  INT len2_3005;
	  INT delta_3006;
	  INT status1_3007;
	  INT status2_3008;
	  INT status3_3009;
	  INT checksum_3010;
	  union
	  {
	    tSF_P_Copy_2846 _C226;
	    tSF_P_Nopy_2855 _C227;
	    tSF_P_Copy_2846 _C228;
	  } _U61;
	} _S54;
      } _U60;
    } _S53;
  } _U53;
};
struct SF_P_3014
{
  tHeader _Header;
  tSF_P_FlashDriverFather_3016 *Chain;
  tSF_P_BlackHole_1511 _C231;
};
struct SF_P_3015
{
  tHeader _Header;
  tSF_P_FlashDriverFather_3016 *Chain;
  tSF_P_FlashDriver_3011 _C233;
};
struct SF_P_FlashDriverFather_3016
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  BOOL AllowBoot1_2702;
  CHAN *chan051i_2703;
  CHAN *chan050o_2704;
  CHAN *chan241i_2705;
  CHAN *chan240o_2706;
  CHAN *chan900o_2707;
  CHAN deschedule_3013_CHAN;
  CHAN *deschedule_3013;
  tTask _T29;
  tSF_P_3014 _C232;
  tTask _T30;
  tSF_P_3015 _C234;
};
struct SF_P_SetHardwareError_3030
{
  tHeader _Header;
  tSF_P_TestDMAADConversion_3052 *Chain;
};
struct SF_P_FillADBuffer_3037
{
  tHeader _Header;
  tSF_P_TestDMAADConversion_3052 *Chain;
};
struct SF_P_TestDMAADConversion_3052
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  BOOL *hardwareError_3027;
  INT upBuffer_3028[5192];
  INT dwnBuffer_3029[5192];
  INT *RunSwpCfg_3033;
  INT i_3034;
  INT noOfRawDataTotal_3038;
  INT runSwpCfg_3039;
  BOOL dataReady_3040;
  INT before_3041;
  union
  {
    struct
    {
      INT wait_3043;
      INT time_3044;
      BOOL finished_3045;
      union
      {
	INT _P_dummy;
      } _U63;
    } _S55;
    struct
    {
      INT time_3048;
    } _S56;
  } _U62;
};
struct SF_P_InitADBuffers_3069
{
  tHeader _Header;
  tSF_P_RawDriver_3134 *Chain;
};
struct SF_P_ExtractFromInterlievedUpUnrolled_3083
{
  tHeader _Header;
  tSF_P_RawDriver_3134 *Chain;
};
struct SF_P_ExtractFromInterlievedDwnUnrolled_3097
{
  tHeader _Header;
  tSF_P_RawDriver_3134 *Chain;
};
struct SF_P_DoStopAck_If_3119
{
  tHeader _Header;
  tSF_P_RawDriver_3134 *Chain;
  BOOL acknowledgeNow_3117;
  INT i_3118;
};
struct SF_P_RawDriver_3134
{
  tHeader _Header;
  tSF_P_RawDriverFather_3138 *Chain;
  INT upBuffer_3098[5192];
  INT dwnBuffer_3099[5192];
  INT noOfRawDataSent_3100;
  INT noOfRawDataLeft_3101;
  INT noOfRawData_3102;
  INT runSwpCfg_3103;
  INT getSwpCmd_3104;
  INT time_3106;
  INT stateOfRawDriver_3107;
  INT stateOfDMA_3110;
  BOOL pendingAck_3115[2];
  union
  {
    struct
    {
      INT i_3121_Alt;
      INT i_3121;
      INT i_3121_End;
      union
      {
	struct
	{
	  INT signal_3120;
	  tSF_P_DoStopAck_If_3119 _C244;
	} _S58;
	struct
	{
	  union
	  {
	    tSF_P_DoStopAck_If_3119 _C246;
	  } _U66;
	} _S59;
	struct
	{
	  INT runSwpCfgNew_3122;
	  INT timeNow_3123;
	  INT timePassedSinceConversionReady_3124;
	} _S60;
	struct
	{
	  REAL32 buffer_3126[256];
	  INT noOfRawDataNow_3127;
	  INT size_3128;
	  INT theBuffer_3129_Dim_437918235;/*SMW*/
	  REAL32 *theBuffer_3129;
	  INT theUpBuffer_3130_Dim_437918235;/*SMW*/
	  INT *theUpBuffer_3130;
	  INT theDwnBuffer_3131_Dim_437918235;/*SMW*/
	  INT *theDwnBuffer_3131;
	  union
	  {
	    struct
	    {
	      INT theBufferAsINT_3133_Dim0;
	      INT *theBufferAsINT_3133;
	    } _S62;
	  } _U67;
	} _S61;
      } _U65;
    } _S57;
  } _U64;
};
struct SF_P_DINT1Mediator_3135
{
  tHeader _Header;
  tSF_P_RawDriverFather_3138 *Chain;
};
struct SF_P_3136
{
  tHeader _Header;
  tSF_P_RawDriverFather_3138 *Chain;
  tSF_P_RawDriver_3134 _C251;
};
struct SF_P_3137
{
  tHeader _Header;
  tSF_P_RawDriverFather_3138 *Chain;
  tSF_P_DINT1Mediator_3135 _C253;
};
struct SF_P_RawDriverFather_3138
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  BOOL *hardwareError_3053;
  CHAN *chan251i_3054;
  CHAN *chan250o_3055;
  CHAN **chanStopLEDsIn_3056;
  INT chanStopLEDsIn_3056_Dim0;
  CHAN **chanStopLEDsOut_3057;
  INT chanStopLEDsOut_3057_Dim0;
  CHAN *chan900o_3058;
  CHAN DINT1EventChannel_3060_CHAN;
  CHAN *DINT1EventChannel_3060;
  CHAN hang_3062_CHAN;
  CHAN *hang_3062;
  tTask _T31;
  tSF_P_3136 _C252;
  tTask _T32;
  tSF_P_3137 _C254;
};
struct SF_P_TestOccamVsCInconcistency_3146
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN *chan900Arrayo_3139;
  BOOL ok_3140;
  INT *ExternConst_3143;
  INT externConst_3144[11];
  INT lenExternConstArr_3145;
  tSF_P_ErrorNoReturn_1522 _C255;
};
struct SF_P_3285
{
  tHeader _Header;
  tSF_P_VerifyAlbum_3287 *Chain;
};
struct SF_P_3286
{
  tHeader _Header;
  tSF_P_VerifyAlbum_3287 *Chain;
};
struct SF_P_VerifyAlbum_3287
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  CHAN album_3284_CHAN;
  CHAN *album_3284;
  tTask _T33;
  tSF_P_3285 _C256;
  tTask _T34;
  tSF_P_3286 _C257;
};
struct SF_P_3288
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  tSF_P_ExceptionBlinker_1981 _C259;
};
struct SF_P_3295
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  INT timePre_ms_3289;
  INT timePost_ms_3290;
  union
  {
    tSF_P_TestDMAADConversion_3052 _C261;
    struct
    {
      INT ramTstUsage_ms_3292;
      INT timeAlreadySpent_ms_3293;
      tSF_P_InitAndTestDualPort_2053 _C262;
    } _S63;
    struct
    {
      INT blink_3294[2];
    } _S64;
  } _U68;
};
struct SF_P_3298
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  tSF_P_RawDriverFather_3138 _C265;
};
struct SF_P_3321
{
  tHeader _Header;
  tSF_P_3592 *Chain;
  tSF_P_OverWrBuff_AlbumPackets_2385 _C267;
};
struct SF_P_ResetMerging_3342
{
  tHeader _Header;
  tSF_P_InMergePackets_3360 *Chain;
};
struct SF_P_InMergePackets_3360
{
  tHeader _Header;
  tSF_P_3505 *Chain;
  CHAN *chan000i_3326;
  CHAN *chan030o_3327;
  CHAN *chan020o_3328;
  BOOL AllowSendOn_chan300o_3329;
  CHAN *chan300o_3330;
  CHAN *chan900Arrayo_3331;
  INT numberOfBytesOfPacket_3332;
  INT numberOfInt32OfPacket_3333;
  INT packet_3334[57];
  INT packedAlbum_3335[358];
  INT iByteOfPackedAlbumMerged_3336;
  INT lastFragmentStatus_3337;
  INT lastSequenceCounter_3338;
  INT subnetNodeAddress_3339;
  INT lastVerifiedSubnetNodeAddress_3340;
  union
  {
    struct
    {
      INT Packet_3343_Dim_437918235;/*SMW*/
      INT *Packet_3343;
      INT noOfBytesOfALPPFrame_3344;
      INT resultOfInputParsing_3345;
      INT noOfFreeBytesOfMergeBuffer_3346;
      union
      {
	struct
	{
	  BOOL breakin_3353;
	} _S66;
	tSF_P_ErrorNoReturn_1522 _C272;
      } _U70;
    } _S65;
  } _U69;
};
struct SF_P_ResetSplitting_3377
{
  tHeader _Header;
  tSF_P_OutSplitToPackets_3397 *Chain;
  INT NewState_3375;
  INT NoOfBytesOfUserLeft_3376;
};
struct SF_P_OutSplitToPackets_3397
{
  tHeader _Header;
  tSF_P_3505 *Chain;
  CHAN *chan020i_3361;
  CHAN *chan040i_3362;
  CHAN *chan001o_3363;
  CHAN *chan900Arrayo_3364;
  INT stateOfSplitter_3365;
  INT subnetNodeAddress_3369;
  INT lastSequenceCounter_3370;
  INT iOfNextByteOutSegment_3371;
  INT noOfBytesOfUserLeft_3372;
  INT noOfBytesOfUserTotal_3373;
  INT packedAlbum_3374[358];
  union
  {
    tSF_P_ResetSplitting_3377 _C277;
    struct
    {
      INT thisResultOfInputParsing_3378;
      INT thisSubnetNodeAddress_3379;
      INT frame_3380;
      INT noOfBytesOfFrame_3381;
      INT _V30_3383[1];
    } _S67;
    tSF_P_ResetSplitting_3377 _C278;
    struct
    {
      INT noOfInt32OfPackedAlbum_3384;
      tSF_P_ResetSplitting_3377 _C279;
    } _S68;
    struct
    {
      INT noOfBytesOfSegment_3385;
      INT noOfInt32OfSegment_3386;
      INT frame_3387;
      INT noOfBytesOfFrame_3388;
      union
      {
	tSF_P_ErrorNoReturn_1522 _C280;
	struct
	{
	  INT noOfBytesIncludeFrame_3389;
	  INT includeFrame_3392[59];
	  union
	  {
	    INT _P_dummy;
	  } _U73;
	} _S70;
	tSF_P_ErrorNoReturn_1522 _C283;
      } _U72;
    } _S69;
  } _U71;
};
struct SF_P_MessageRouter_3501
{
  tHeader _Header;
  tSF_P_3505 *Chain;
  INT *AlbumDecodeLocal_3398;
  INT AlbumDecodeLocal_3398_Dim0;
  INT *ImplementedCommandListLocal_3399;
  INT ImplementedCommandListLocal_3399_Dim0;
  INT *AlbumRouteLocal_3400;
  INT AlbumRouteLocal_3400_Dim0;
  INT *AlbumLogOnLocal_3401;
  INT AlbumLogOnLocal_3401_Dim0;
  CHAN *chan800o_3402;
  CHAN *chan030i_3403;
  CHAN *chan061i_3404;
  CHAN *chan060o_3405;
  CHAN *chan071i_3406;
  CHAN *chan070o_3407;
  CHAN *chan080i_3408;
  CHAN *chan081o_3409;
  CHAN *chan090i_3410;
  CHAN *chan091o_3411;
  CHAN *chan290i_3412;
  CHAN *chan291o_3413;
  CHAN *chan040o_3414;
  CHAN *chan900o_3415;
  CHAN envelopeReplyChannels_3419_CHAN[2];
  CHAN *envelopeReplyChannels_3419[2];
  INT stateOfMessageRouter_3420;
  INT envelope_3421[608];
  INT noOfInt32OfEnvelope_3422;
  INT packedAlbum_3423[358];
  INT noOfBytesOfPackedAlbum_3424;
  INT noOfInt32OfPackedAlbum_3425;
  INT rop_iOfUnpacked_3426;
  INT rop_maxNoOfArrayElem_3428;
  INT rop_arrayState_3429;
  INT rop_AlbumDecode_3430[12];
  INT rop_iOfAlbumDecode_3431;
  INT rop_noOfAlbumDecodeP1_3432;
  INT rop_typeArray_3433[8];
  INT rop_iOfTypeArray_3434;
  BOOL rop_makeNewTypeArray_3435;
  CHAN chan290iAny_3436_CHAN;
  CHAN *chan290iAny_3436;
  CHAN chan061iAny_3437_CHAN;
  CHAN *chan061iAny_3437;
  CHAN rop_replyChannelIn_3439_CHAN[2];
  CHAN *rop_replyChannelIn_3439[2];
  INT sop_iOfElement_3440[31];
  INT sop_sizeOfIOfElement_3441;
  INT sop_channel_3442;
  INT i_3467_Alt;
  INT i_3467;
  INT i_3477_Alt;
  INT i_3477;
  union
  {
    struct
    {
      INT command_3443;
      INT noOfInt32OfSegment_3444;
      INT segmentOfAlbumDecode_3445[12];
      BOOL ok_3446;
      INT iOfReply_3447;
      union
      {
	tSF_P_GetAlbumDecodeSegment_1905 _C286;
	struct
	{
	  INT *PackedAlbum_3450;
	  INT TypeOfAlbum_3451_Dim0;/*SMW*/
	  INT *TypeOfAlbum_3451;
	  BOOL clientAccepted_3452;
	  INT noOfInt32OfTheProtocol_3453;
	  union
	  {
	    struct
	    {
	      INT i_3455;
	      INT i_3455_End;
	      INT IdOfClient_3456;
	    } _S73;
	    tSF_P_ErrorNoReturn_1522 _C288;
	    struct
	    {
	      INT chan_3457;
	      INT protocol_3458;
	      union
	      {
		INT _P_dummy;
	      } _U77;
	    } _S74;
	  } _U76;
	} _S72;
      } _U75;
    } _S71;
    struct
    {
      INT protCmd_3468;
      INT noOfInt32OfAlbumDecodeSegment_3469;
      BOOL ok_3470;
      INT albumDecodeSegment_3471[12];
      union
      {
	struct
	{
	  INT UnpackedAlbum_3472_Dim_437918235;/*SMW*/
	  INT *UnpackedAlbum_3472;
	  union
	  {
	    tSF_P_GetAlbumDecodeSegment_1905 _C299;
	    struct
	    {
	      BOOL replyToClient_3475;
	      INT TypeOfAlbum_3476_Dim0;/*SMW*/
	      INT *TypeOfAlbum_3476;
	      union
	      {
		tSF_P_ErrorNoReturn_1522 _C302;
	      } _U80;
	    } _S77;
	    tSF_P_ErrorNoReturn_1522 _C300;
	  } _U79;
	} _S76;
      } _U78;
    } _S75;
    struct
    {
      INT IOfChan_3482;
      union
      {
	struct
	{
	  INT noOfInt32OfSegment_3483;
	  BOOL ok_3484;
	  union
	  {
	    tSF_P_GetAlbumDecodeSegment_1905 _C303;
	    tSF_P_ErrorNoReturn_1522 _C304;
	  } _U82;
	} _S79;
	struct
	{
	  INT x_3485;
	} _S80;
	tSF_P_ErrorNoReturn_1522 _C306;
	tSF_P_ErrorNoReturn_1522 _C307;
      } _U81;
    } _S78;
    struct
    {
      INT iLeft_3488;
      INT iRight_3489;
      INT noOfUnusedElementsOfArray_3490;
      BOOL send_3491;
      INT *unpackedAlbum_3492;
      INT i_3493;
      INT i_3493_End;
      INT From_3496;
      INT For_3497;
      union
      {
	struct
	{
	  CHAN chanANY_3498_CHAN;
	  CHAN *chanANY_3498;
	} _S82;
	struct
	{
	  CHAN chanANY_3499_CHAN;
	  CHAN *chanANY_3499;
	} _S83;
	struct
	{
	  CHAN chanANY_3500_CHAN;
	  CHAN *chanANY_3500;
	} _S84;
      } _U83;
    } _S81;
  } _U74;
};
struct SF_P_3502
{
  tHeader _Header;
  tSF_P_3505 *Chain;
  tSF_P_MessageRouter_3501 _C310;
};
struct SF_P_3503
{
  tHeader _Header;
  tSF_P_3505 *Chain;
  tSF_P_InMergePackets_3360 _C312;
};
struct SF_P_3504
{
  tHeader _Header;
  tSF_P_3505 *Chain;
  tSF_P_OutSplitToPackets_3397 _C314;
};
struct SF_P_3505
{
  tHeader _Header;
  tSF_P_3592 *Chain;
  INT *AlbumRoute_3323;
  INT *AlbumLogOn_3325;
  tTask _T39;
  tSF_P_3502 _C311;
  tTask _T40;
  tSF_P_3503 _C313;
  tTask _T41;
  tSF_P_3504 _C315;
};
struct SF_P_LogMeOn_3538
{
  tHeader _Header;
  tSF_P_ClientLogOn_3571 *Chain;
};
struct SF_P_CleanupAfterClient_3539
{
  tHeader _Header;
  tSF_P_ClientLogOn_3571 *Chain;
};
struct SF_P_BroadcastLogOn_3544
{
  tHeader _Header;
  tSF_P_ClientLogOn_3571 *Chain;
  BOOL logOn_3540;
  INT localTime_3541;
  BOOL dummy_3543;
};
struct SF_P_ClientLogOn_3571
{
  tHeader _Header;
  tSF_P_3591 *Chain;
  BYTE *VerOfProductStrLocal_3506;
  INT VerOfProductStrLocal_3506_Dim0;
  INT *ImplementedCommandListLocal_3507;
  INT ImplementedCommandListLocal_3507_Dim0;
  INT *VersionOfCommandList_3508;
  INT VersionOfCommandList_3508_Dim0;
  CHAN *chan060i_3509;
  CHAN *chan061o_3510;
  CHAN *chan390i_3511;
  CHAN *chan391o_3512;
  CHAN *chan070i_3513;
  CHAN *chan071o_3514;
  CHAN *chan260i_3515;
  CHAN *chan261o_3516;
  CHAN *chan100i_3517;
  CHAN *chan900Arrayo_3518;
  INT idOfLoggedOnClient_3519;
  INT noOfLoggedOnClients_3520;
  BYTE nameOfClientStr_3521[16];
  BYTE *INTERNAL1Str_3523;
  BYTE *INTERNAL2Str_3525;
  BYTE *INTERNAL3Str_3527;
  INT idOfLoggedOnClient_previous_3528;
  INT time_3529;
  INT timeout_ms_3530;
  INT stateOfInternalLogOn_3545;
  union
  {
    struct
    {
      BOOL loggingOff_3549;
    } _S85;
    struct
    {
      INT idOfClient_3550;
      BOOL isLoggedOn_3551;
    } _S86;
    struct
    {
      BYTE iOfReply_3552;
      BYTE idOfClient_3553;
      INT INT16ImplementedCommandList_3554_Dim0;
      INT16 *INT16ImplementedCommandList_3554;
      INT BYTEVersionOfCommandList_3555_Dim0;
      BYTE *BYTEVersionOfCommandList_3555;
    } _S87;
    struct
    {
      BYTE iOfReply_3556;
      INT32 unmod_3557;
      INT32 invert_3558;
      INT32 sum_3559;
      REAL32 add10_3560;
      INT32 inverted_3561;
    } _S88;
    struct
    {
      BYTE iOfReply_3562;
      BYTE queryNameOfClientStr_3563[16];
      union
      {
	tSF_P_BroadcastLogOn_3544 _C322;
	struct
	{
	  INT sizeOfName_3564;
	} _S90;
      } _U85;
    } _S89;
    struct
    {
      BYTE iOfReply_3565;
      INT sizeOfName_3566;
      BYTE _V33_3567[1];
    } _S91;
    struct
    {
      BYTE iOfReply_3568;
      BYTE idOfClientOld_3569;
      union
      {
	tSF_P_BroadcastLogOn_3544 _C324;
      } _U86;
    } _S92;
    struct
    {
      union
      {
	tSF_P_BroadcastLogOn_3544 _C330;
	tSF_P_BroadcastLogOn_3544 _C329;
      } _U87;
    } _S93;
  } _U84;
};
struct SF_P_SendLoggingOff_3577
{
  tHeader _Header;
  tSF_P_3591 *Chain;
  INT i_3572;
  BOOL AllowSendOn_3573;
  CHAN *out_3574;
  BOOL Value_3575;
  INT this_3576;
};
struct SF_P_3585
{
  tHeader _Header;
  tSF_P_BroadcastLoggingOnOff_3586 *Chain;
  INT i_3583;
  tSF_P_SendLoggingOff_3577 _C331;
};
struct SF_P_BroadcastLoggingOnOff_3586
{
  tHeader _Header;
  tSF_P_3591 *Chain;
  CHAN *in_3578;
  CHAN *ack_3579;
  BOOL *AllowSendOn_out_3580;
  CHAN **out_3581;
  BOOL somebodyIsLoggingOn_3582;
  tTask _T43[3];
  tSF_P_3585 _C332[3];
};
struct SF_P_3587
{
  tHeader _Header;
  tSF_P_3591 *Chain;
  tSF_P_ClientLogOn_3571 _C333;
};
struct SF_P_3590
{
  tHeader _Header;
  tSF_P_3591 *Chain;
  BOOL *AllowBroadcastTo_3589;
  tSF_P_BroadcastLoggingOnOff_3586 _C335;
};
struct SF_P_3591
{
  tHeader _Header;
  tSF_P_3592 *Chain;
  tTask _T44;
  tSF_P_3587 _C334;
  tTask _T45;
  tSF_P_3590 _C336;
};
struct SF_P_3592
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  INT *ImplementedCommandList_3318;
  INT versionOfCommandList_3319[37];
  tTask _T38;
  tSF_P_3321 _C268;
  tTask _T42;
  tSF_P_3505 _C316;
  tTask _T46;
  tSF_P_3591 _C337;
};
struct SF_P_3593
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_DualPortDriverFather_2218 _C339;
};
struct SF_F_VerifySubscribed_3731
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_InitSubscribed_3734
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_F_VerifyDelta_3744
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_InitDelta_3747
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_F_VerifyTimeout_ms_3758
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_InitTimeout_ms_3760
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_F_VerifyIsPolled_3770
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_VerifyAndInit_If_3780
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
  union
  {
    INT _P_dummy;
  } _U88;
};
struct SF_P_FillAllDefaults_3789
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_StartSendHighPriUntilEmpty_3790
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_F_NextLowPriDelayTimer_3793
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_StartSendLowPri_3798
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_GetClassReasonFrontOfQueue_3810
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_HandleClassReasonChange_3817
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_ModifyFrontLEDs_3821
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_F_GetLEDs_3822
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_SetLEDs_3824
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_PrepareToSendFrontLEDs_If_3830
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
  union
  {
    INT _P_dummy;
  } _U89;
};
struct SF_P_NextTimeoutIsHopefullySharp_3908
{
  tHeader _Header;
  tSF_P_EventRouter_4018 *Chain;
};
struct SF_P_EventRouter_4018
{
  tHeader _Header;
  tSF_P_EventRouterFather_4023 *Chain;
  CHAN *chan900internal_3608;
  INT stateOfU16Out_3618[3];
  INT stateOfF32Out_3619[12];
  INT stateOfErrOut_3620[5];
  INT stateOfU16In_3621[1];
  INT stateOfG4AlaOut_3622;
  INT stateOfDim2Out_3623;
  INT stateOfF32In_3624[2];
  INT stateOfSeqF32In_3625;
  BYTE *VerNoFacit_3635;
  BYTE *TankName_3637;
  INT *SubscribedDefault_3640;
  REAL32 *DeltaDefault_3643;
  INT *TimeoutDefault_3647;
  BOOL *IsPolledDefault_3651;
  CHAN ChanBundle_3654_CHAN[3];
  CHAN *ChanBundle_3654[3];
  INT userOfU16Out_3661[3];
  INT userOfF32Out_3662[12];
  INT *UserOfF32OutDefault_3664;
  INT globalTime_ms_3665;
  INT now_ms_3666;
  INT eU16Out_3668[12];
  INT eF32Out_3669[48];
  INT eErrOut_3670[5][3];
  INT eDim2Out_3671[6];
  INT eErrOut_next_3672[3];
  BOOL eErrOut_next_do_3673;
  INT eErrOut_next_i_3674;
  INT eErrOut_last_3675[3];
  INT eU16In_3676[4];
  INT eF32In_3677[8];
  INT eSeqF32In_3678[17];
  INT eG4AlaOut_3679[16];
  REAL32 eF32Out_ValueLastProduced_3680[12];
  REAL32 eF32Out_ValueDeltaRef_3681[12];
  BOOL eF32Out_NoValueSent_3682[12];
  BOOL eU16In_ReceivedOrTimeout_3683[1];
  BOOL exceptionHandlerBlocked_3684;
  INT eU16Out_timer_ms_3685[3];
  INT eF32Out_timer_ms_3686[12];
  INT eU16In_timer_ms_3687[1];
  INT eErrOut_timer_ms_3688;
  INT eG4AlaOut_timer_ms_3689;
  INT lowPriOut_delayTimer_ms_3690;
  BOOL lowPriOut_delayTimer_activeNow_3691;
  INT timeoutOfU16Out_ms_3692;
  INT timeoutOfF32Out_ms_3693;
  INT timeoutOfErrOut_ms_3694;
  INT timeoutOfAlaOut_ms_3695;
  INT inhibitOfF32Out_ms_3696;
  INT timeoutOfConfigDataOut_ms_3697;
  INT eDim2Out_timer_ms_3698;
  INT timeoutOfDim2Out_ms_3699;
  INT timeoutOfU16In_ms_3700[1];
  INT iOfFairSendF32Out_3701;
  BOOL sendHighPriUntilEmpty_3702;
  BOOL sendLowPriUntilEmpty_3703;
  INT *LEDTestSequence_3717;
  INT iOf_LEDTestSequence_3718;
  union
  {
    struct
    {
      INT thisUser_3976_Alt;
      INT thisUser_3976;
      union
      {
	struct
	{
	  INT nodetypeClassReason_3861[3];
	} _S95;
	struct
	{
	  INT envelope_3864[6];
	  INT len_3865;
	  INT buffer_3867[53];
	  INT sizeOfFile_3868;
	  INT status_3869;
	  INT nodetypeClassReason_3870[3];
	  union
	  {
	    INT _P_dummy;
	  } _U92;
	} _S96;
	struct
	{
	  INT numberOfBytesOfPacket_3881;
	  INT numberOfInt32OfPacket_3882;
	  INT subnetNodeAddress_3883;
	  INT packet_3884[11];
	  INT command_3885;
	  BOOL ok_3886;
	  BOOL sendToUllCalc_3887;
	  INT sop_iOfElement_NotUsed_3888[31];
	  INT sop_sizeOfIOfElement_NotUsed_3889;
	  INT unpackedAlbum_3890[17];
	  INT noOfInt32OfTheProtocol_3891;
	  union
	  {
	    struct
	    {
	      INT envelopeEventsIn_3905[32];
	      union
	      {
		INT _P_dummy;
	      } _U94;
	    } _S98;
	  } _U93;
	} _S97;
	struct
	{
	  INT i_3922;
	  INT statusOfEvent_3923;
	  BOOL receivedOrTimeout_3924;
	  INT *NCR_Timeout2minOfU16In_3926;
	} _S99;
	struct
	{
	  BOOL ok_3927;
	  BOOL sendByteStream_3928;
	  INT noOfBytesOfPackedAlbum_3929;
	  INT packedAlbum_3930[9];
	  union
	  {
	    INT _P_dummy;
	  } _U95;
	} _S100;
	struct
	{
	  BOOL ok_3951;
	  BOOL sendByteStream_3952;
	  INT noOfBytesOfPackedAlbum_3953;
	  INT packedAlbum_3954[9];
	  INT iOfEvent_3955;
	  union
	  {
	    struct
	    {
	      INT delayTime_ms_3961;
	    } _S102;
	  } _U96;
	} _S101;
	struct
	{
	  INT noOfInt32OfEnvelope_3968;
	  INT envelopeEvents_3969[59];
	  BOOL dontReply_3977;
	  INT protType_3978;
	  INT protCmd_3979;
	  BOOL error_3980;
	  union
	  {
	    INT _P_dummy;
	  } _U97;
	} _S103;
      } _U91;
    } _S94;
  } _U90;
};
struct SF_P_4021
{
  tHeader _Header;
  tSF_P_EventRouterFather_4023 *Chain;
  tSF_P_ExceptionBuffer_1985 _C398;
};
struct SF_P_4022
{
  tHeader _Header;
  tSF_P_EventRouterFather_4023 *Chain;
  tSF_P_EventRouter_4018 _C400;
};
struct SF_P_EventRouterFather_4023
{
  tHeader _Header;
  tSF_P_4024 *Chain;
  CHAN *chan010i_3594;
  CHAN *chan291i_3595;
  CHAN *chan290o_3596;
  CHAN *chan141i_3597;
  CHAN *chan140o_3598;
  CHAN *chan210i_3599;
  CHAN *chan211o_3600;
  CHAN *chan220i_3601;
  CHAN *chan230i_3602;
  CHAN *chan231o_3603;
  CHAN *chan120i_3604;
  CHAN *chan011o_3605;
  CHAN *chan370o_3606;
  CHAN *chan900o_3607;
  CHAN chan900internal_4020_CHAN;
  CHAN *chan900internal_4020;
  tTask _T49;
  tSF_P_4021 _C399;
  tTask _T50;
  tSF_P_4022 _C401;
};
struct SF_P_4024
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_EventRouterFather_4023 _C402;
};
struct SF_P_4027
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  CHAN _V49_4025_CHAN[3];
  CHAN *_V49_4025[3];
  CHAN _V48_4026_CHAN[3];
  CHAN *_V48_4026[3];
  tSF_P_CurveServer_2281 _C404;
};
struct SF_F_Convert_status_4084
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_WriteToFlash_4099
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT *Buffer_4085;
  INT Buffer_4085_Dim0;
  INT AbsoluteAddressOfFlash_4086;
  INT NoOfInt32OfFlashBuffer_4087;
  INT *status_4088;
  INT noOfPackets_4089;
  INT localStatus_4090;
  INT packetSizes_4091[6];
  INT flashAbsoluteAddress_4095;
  INT iOfBuffer_4096;
  INT i_4097;
  INT i_4097_End;
  INT TheSize_4098;
};
struct SF_P_ReadFromFlash_4115
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT *readBuffer_4100;
  INT readBuffer_4100_Dim0;
  INT AbsoluteAddressOfFlash_4101;
  INT NoOfInt32OfServerBuffer_4102;
  INT *status_4103;
  INT noOfPackets_4104;
  INT localStatus_4105;
  INT packetSizes_4106[6];
  INT flashAbsoluteAddress_4110;
  INT iOfBuffer_4111;
  INT i_4112;
  INT i_4112_End;
  INT TheSize_4113;
  INT size_4114;
};
struct SF_P_Verify_4118
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT Status_4116;
  INT nodetypeClassReason_4117[3];
};
struct SF_P_FillFCB_4123
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_GetNoOfElem_4127
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_InsertArrayInFront_4135
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_CalculateAddressOf_4145
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_GetAddressAndSizeOfSectors_4149
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT *noOfSectors_4146;
  INT *address_4147;
  INT address_4147_Dim0;
  INT *sizeInt32_4148;
  INT sizeInt32_4148_Dim0;
};
struct SF_P_FlashCommandInterpreter_4174
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT *CommandSequence_4150;
  INT CommandSequence_4150_Dim0;
  INT *buffer_4151;
  INT buffer_4151_Dim0;
  INT AddressType_4152;
  INT Address_4153;
  INT *status_4154;
  INT address_4155[8];
  INT sizeInt32_4156[8];
  INT noOfSectors_4157;
  INT iOfSequence_4158;
  INT fileAddress_4159;
  BOOL enableDMAIfError_4160;
  INT X_4161;
  union
  {
    struct
    {
      INT readStatus_4162;
      INT writeStatus_4163;
      INT manufacturerCode_4164;
      INT deviceCode_4165;
      union
      {
	tSF_P_Verify_4118 _C419;
	tSF_P_Verify_4118 _C418;
      } _U99;
    } _S104;
    tSF_P_GetAddressAndSizeOfSectors_4149 _C416;
    tSF_P_Verify_4118 _C417;
    tSF_P_Verify_4118 _C415;
    tSF_P_Verify_4118 _C414;
    struct
    {
      INT IOfSector_4169;
      tSF_P_Verify_4118 _C413;
    } _S105;
    tSF_P_Verify_4118 _C412;
    tSF_P_WriteToFlash_4099 _C410;
    tSF_P_Verify_4118 _C411;
    tSF_P_ReadFromFlash_4115 _C408;
    tSF_P_Verify_4118 _C409;
    tSF_P_Verify_4118 _C407;
  } _U98;
};
struct SF_F_Find_SEARCH_ID_4180
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_ReadFileFromFlash_4201
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  BYTE *RequestedNameOfFile_4181;
  INT RequestedNameOfFile_4181_Dim0;
  INT *buffer_4182;
  INT buffer_4182_Dim0;
  INT *noOfInt32OfFCBAndData_4183;
  INT *status_4184;
  INT iOfFileName_4185;
  INT index_4186;
  tSF_P_FlashCommandInterpreter_4174 _C420;
};
struct SF_P_ReadHatFileFromFlash_4210
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_IsFile_4215
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_ReplaceDeviceNameWith_4229
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_FindFileInAnFCBBank_4237
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_FindExtFileInAnFCBBank_4246
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_NoOfFilesInAnFCBBank_4251
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_FindLastFileInAnFCBBank_4257
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_F_FindNextFileInAnFCBBank_4267
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_InsertFileNameInAnFCBBank_If_4272
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_InsertDateEtcInAnFCBBank_4276
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_InsertNoOfDataBytesInAnFCBBank_4280
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_RemoveFileFromAnFCBBank_4285
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_Report_FileError_4290
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  CHAN *chan900oLocal_4286;
  INT *NCR_4287;
  INT IOfFile_4288;
  INT ncr_4289[3];
};
struct SF_P_Send_PFileHereIsFileAddrAckNack_4302
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT IndexOfFile_4291;
  INT UserOfFile_4292;
  INT AddressOfData_4293;
  INT NoOfInt32OfData_4294;
  BOOL *dataInFileApproved_4295;
  INT envelope_4296[6];
  union
  {
    struct
    {
      INT time_4297;
      INT noOfInt32OfEnvelope_4299;
      INT protType_4300;
      INT protCmd_4301;
      union
      {
	tSF_P_Report_FileError_4290 _C427;
      } _U101;
    } _S106;
  } _U100;
};
struct SF_P_ContinueStartAtToken_4312
{
  tHeader _Header;
  tSF_P_FindFCBOf_512K_CodeAnywhere_4319 *Chain;
};
struct SF_P_FindFCBOf_512K_CodeAnywhere_4319
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT noOfValuesLeft_4307;
  INT startAddress_4308;
  union
  {
    INT _P_dummy;
  } _U102;
};
struct SF_P_ResetRdSegmenting_Left_Sent_4336
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_ResetWrSegmenting_4337
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_ResetReadFileNamesSegmenting_4339
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_ResetAllSegmenting_4340
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  union
  {
    INT _P_dummy;
  } _U103;
};
struct SF_P_FillFCBAndKnownInto_I_Buffer_dat_4344
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_UpdateInitFilesOfClient_4361
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT *Clients_4345;
  INT Clients_4345_Dim0;
  INT x_4346;
  INT x_4346_End;
  INT noOfFilesForClient_4347;
  INT i_4348;
  INT IOfFile_4349;
  INT UserOfFile_4350;
  INT status_4351;
  INT noOfInt32OfFCBAndData_4352;
  INT fileHandle_4353;
  union
  {
    struct
    {
      BYTE *NameOfFile_4354;
      union
      {
	tSF_P_ReadFileFromFlash_4201 _C433;
	tSF_P_Report_FileError_4290 _C436;
	tSF_P_Report_FileError_4290 _C435;
      } _U105;
    } _S107;
    struct
    {
      INT noOfInt32OfData_4357;
      INT address_4358;
      BOOL dataInFileApproved_4359;
      tSF_P_Send_PFileHereIsFileAddrAckNack_4302 _C438;
    } _S108;
    struct
    {
      BOOL dataInFileApproved_4360;
      tSF_P_Send_PFileHereIsFileAddrAckNack_4302 _C437;
    } _S109;
  } _U104;
};
struct SF_P_FindFile_512K_CodeAnywhere_4373
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT IOfFile_4364;
  INT SearchFrom_4365;
  BOOL VerifyChecksum_I_4366;
  BOOL *fcbFound_4367;
  INT fcb_4368[30];
  union
  {
    tSF_P_Report_FileError_4290 _C443;
    struct
    {
      INT checksumError_4369;
      union
      {
	tSF_P_Report_FileError_4290 _C441;
      } _U107;
    } _S110;
  } _U106;
};
struct SF_P_VerifyFilesStatus_reportIfAllOk_4375
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT i_4374;
};
struct SF_P_P_RdDeviceTypesReNack_4436
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT *album_4425;
  union
  {
    struct
    {
      INT address_4428[8];
      INT sizeInt32_4429[8];
      INT noOfSectors_4430;
      union
      {
	tSF_P_FlashCommandInterpreter_4174 _C471;
	tSF_P_GetAddressAndSizeOfSectors_4149 _C472;
	tSF_P_FlashCommandInterpreter_4174 _C473;
      } _U109;
    } _S111;
  } _U108;
};
struct SF_P_P_RdFileFCBReNack_4446
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_P_RdFileDataReNack_4465
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT BufferAdr_4447;
  INT *album_4448;
  union
  {
    struct
    {
      INT FileName_4449_Dim0;
      BYTE *FileName_4449;
      INT fileHandleInFCBBank_4450;
      INT fileHandleInBuffer_4451;
      INT fileHandleInBuffer_flash6_4452;
      INT fileNameHandle_4453;
      INT deviceNameHandle_4454;
      BOOL hatFile_4455;
      union
      {
	struct
	{
	  INT noOfInt32OfFCBAndData_4457;
	  union
	  {
	    tSF_P_ReadFileFromFlash_4201 _C474;
	  } _U112;
	} _S113;
      } _U111;
    } _S112;
  } _U110;
};
struct SF_F_CannotAccept_flashx_4477
{
  tHeader _Header;
  tSF_P_P_WrFileDataAckNack_4514 *Chain;
};
struct SF_P_FillBufferAndProgramFile_4506
{
  tHeader _Header;
  tSF_P_P_WrFileDataAckNack_4514 *Chain;
  BOOL program_flashx_now_4485;
  INT nume_flashx_buffer_now_4486;
  INT iOf_flashx_4487;
  INT checksum_4488[1];
  union
  {
    struct
    {
      INT phaseForErrorReporting_4494;
      INT convertedStatus_4495;
      union
      {
	struct
	{
	  INT buffer_notUsed_4496[1];
	  tSF_P_FlashCommandInterpreter_4174 _C489;
	} _S115;
	tSF_P_FlashCommandInterpreter_4174 _C490;
	struct
	{
	  INT i_4497;
	  INT i_4497_End;
	  INT IOfSector_4498;
	  INT buffer_notUsed_4499[1];
	  tSF_P_FlashCommandInterpreter_4174 _C491;
	} _S116;
	tSF_P_FlashCommandInterpreter_4174 _C492;
	struct
	{
	  INT error_4500;
	} _S117;
	struct
	{
	  BOOL ok_4502;
	  BOOL fcbFound_4503;
	  union
	  {
	    tSF_P_FindFile_512K_CodeAnywhere_4373 _C496;
	  } _U115;
	} _S118;
      } _U114;
    } _S114;
    struct
    {
      BOOL newInFCBBank_4504;
      union
      {
	tSF_P_FlashCommandInterpreter_4174 _C484;
      } _U116;
    } _S119;
  } _U113;
};
struct SF_P_P_WrFileDataAckNack_4514
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  INT *album_4466;
  union
  {
    struct
    {
      INT FileName_4467_Dim0;
      BYTE *FileName_4467;
      INT fileHandleInFCBBank_4468;
      INT fileHandleInBuffer_flash6_4469;
      INT fileHandleInBuffer_4470;
      INT fileNameHandle_4471;
      INT deviceNameHandle_4472;
      BOOL nowLoading_flashx_4473;
      BOOL hatFile_4474;
      INT NoOfBytesSent_4479;
      INT NoOfBytesLeft_4480;
      INT NoOfBytesOfThisSegment_4481;
      INT NoOfElemSent_4482;
      INT NoOfElemLeft_4483;
      INT NoOfElemOfThisSegment_4484;
      union
      {
	tSF_P_FillBufferAndProgramFile_4506 _C499;
      } _U118;
    } _S120;
  } _U117;
};
struct SF_P_P_RdFileNamesReNack_4529
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  union
  {
    INT _P_dummy;
  } _U119;
};
struct SF_P_P_CloneOrWrFileAckNack_4560
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
  BYTE fileName_from_4530[20];
  BYTE fileName_to_4531[20];
  INT lenOfFileName_from_4532;
  INT deviceNameHandleOrig_from_4533;
  INT lenOfFileName_to_4534;
  INT deviceNameHandleOrig_to_4535;
  INT iOfDirection_4536;
  INT *album_4537;
  union
  {
    struct
    {
      INT FileNameMod_from_4545_Dim_437918235;/*SMW*/
      BYTE *FileNameMod_from_4545;
      INT FileNameMod_to_4546_Dim_437918235;/*SMW*/
      BYTE *FileNameMod_to_4546;
      INT fileHandleInFCBBankMod_from_4547;
      INT fileNameHandleMod_from_4548;
      INT fileHandleInBuffer_flash6Mod_from_4549;
      INT fileHandleInFCBBankMod_to_4550;
      INT fileNameHandleMod_to_4551;
      INT fileHandleInBuffer_flash6Mod_to_4552;
      union
      {
	struct
	{
	  INT noOfInt32OfData_4554;
	  INT address_4555;
	  INT fCBInBuffer_4556[30];
	  BOOL dataInFileApproved_4557;
	  union
	  {
	    tSF_P_Send_PFileHereIsFileAddrAckNack_4302 _C509;
	    tSF_P_VerifyFilesStatus_reportIfAllOk_4375 _C511;
	    tSF_P_VerifyFilesStatus_reportIfAllOk_4375 _C510;
	  } _U122;
	} _S122;
	struct
	{
	  INT noOfInt32OfFCBAndData_4558;
	  tSF_P_ReadFileFromFlash_4201 _C508;
	} _S123;
	struct
	{
	  INT size_4559;
	  tSF_P_FlashCommandInterpreter_4174 _C507;
	} _S124;
      } _U121;
    } _S121;
  } _U120;
};
struct SF_P_P_Wr_RdDataOfStructReNack_4581
{
  tHeader _Header;
  tSF_P_FileServer_4586 *Chain;
};
struct SF_P_FileServer_4586
{
  tHeader _Header;
  tSF_P_4589 *Chain;
  INT *ServeTheseClientsAtInit_4030;
  INT ServeTheseClientsAtInit_4030_Dim0;
  CHAN *chan400i_4031;
  CHAN *chan240i_4032;
  CHAN *chan241o_4033;
  BOOL *AllowSendOn_fileAddressOut_4034;
  CHAN **fileAddressAck_4035;
  INT fileAddressAck_4035_Dim0;
  CHAN **fileAddressOut_4036;
  INT fileAddressOut_4036_Dim0;
  CHAN *chan081i_4037;
  CHAN *chan080o_4038;
  BOOL AllowSendOn_chan271o_4039;
  CHAN *chan270i_4040;
  CHAN *chan271o_4041;
  CHAN *chan380i_4042;
  CHAN *chan100o_4043;
  CHAN *chan900o_4044;
  INT *ReadFlash6Seq_4059;
  INT *EraseFlash6Seq_4061;
  INT *EraseFlashxSeq_4063;
  INT *ProgramFlash6Seq_4065;
  INT *ProgramFlashxSeq_4067;
  INT *PatchFlashxSeq_4069;
  INT *ReadSectorDataP1Seq_4071;
  INT *ReadSectorDataP3Seq_4073;
  INT fCBBank_4320[20][30];
  INT addressOfFileInFlash_4321[20];
  INT buffer_4322[1388];
  INT next_iOfWrFile_4323;
  INT next_iOfRdFile_4324;
  INT noOfElemOfRdFileLeft_4325;
  INT noOfElemOfRdFileSent_4326;
  INT noOfFilesSentOfRdFileNames_4327;
  INT noOfFilesOfRdFileNames_4328;
  BOOL sendInternalLogOff_4329;
  BOOL codeIsRunningInRam_4330;
  BOOL fileDataApproved_byServer_4331[13];
  union
  {
    struct
    {
      INT survivalFromLastRun_4377;
      tSF_P_Delay_ms_1435 _C444;
    } _S125;
    struct
    {
      BOOL fcbFound_4381;
      union
      {
	tSF_P_FindFile_512K_CodeAnywhere_4373 _C447;
	tSF_P_FindFile_512K_CodeAnywhere_4373 _C448;
      } _U124;
    } _S126;
    struct
    {
      INT i_4383;
      INT noOfInt32OfFCBAndData_4384;
      INT status_4385;
      BYTE *FileName_4386;
      union
      {
	tSF_P_Report_FileError_4290 _C452;
      } _U125;
    } _S127;
    tSF_P_UpdateInitFilesOfClient_4361 _C453;
    tSF_P_VerifyFilesStatus_reportIfAllOk_4375 _C454;
    struct
    {
      BOOL somebodyIsLoggingOn_4394;
      union
      {
	INT _P_dummy;
      } _U126;
    } _S128;
    struct
    {
      INT envelope_4395[1363];
      INT noOfInt32OfEnvelope_4396;
      INT protType_4397;
      INT protCmd_4398;
      union
      {
	struct
	{
	  INT fileHandle_4399;
	  INT status_4400;
	  INT iOfFileName_4401;
	  union
	  {
	    struct
	    {
	      INT noOfInt32OfFileNow_4403;
	      INT len_4404;
	      union
	      {
		struct
		{
		  INT oldTimeSince1601_4405[2];
		  union
		  {
		    tSF_P_FlashCommandInterpreter_4174 _C465;
		    struct
		    {
		      INT noOfInt32OfFCBAndData_4408;
		      INT readStatus_4409;
		      BYTE *FileName_4410;
		      tSF_P_ReadFileFromFlash_4201 _C466;
		    } _S133;
		  } _U130;
		} _S132;
	      } _U129;
	    } _S131;
	    tSF_P_Report_FileError_4290 _C469;
	    struct
	    {
	      INT iOfUser_4412[1];
	      union
	      {
		tSF_P_UpdateInitFilesOfClient_4361 _C467;
		tSF_P_VerifyFilesStatus_reportIfAllOk_4375 _C468;
	      } _U131;
	    } _S134;
	  } _U128;
	} _S130;
	struct
	{
	  INT _V53_4413[1];
	  tSF_P_UpdateInitFilesOfClient_4361 _C461;
	} _S135;
	tSF_P_VerifyFilesStatus_reportIfAllOk_4375 _C462;
      } _U127;
    } _S129;
    struct
    {
      INT envelope_4414[291];
      INT noOfInt32OfEnvelope_4415;
      INT noOfInt32OfTheProtocol_4416;
      INT send_4417;
      INT protType_4422;
      INT protCmd_4423;
      INT status_4424;
      union
      {
	tSF_P_ErrorNoReturn_1522 _C522;
	tSF_P_P_RdDeviceTypesReNack_4436 _C521;
	struct
	{
	  INT bufferAdr_4582;
	  tSF_P_P_RdFileDataReNack_4465 _C519;
	} _S137;
	tSF_P_P_WrFileDataAckNack_4514 _C518;
	tSF_P_P_CloneOrWrFileAckNack_4560 _C516;
      } _U132;
    } _S136;
  } _U123;
};
struct SF_P_4589
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  BOOL *AllowFileAddressSentTo_4029;
  CHAN _V63_4587_CHAN[4];
  CHAN *_V63_4587[4];
  CHAN _V62_4588_CHAN[4];
  CHAN *_V62_4588[4];
  tSF_P_FileServer_4586 _C532;
};
struct SF_P_4591
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  CHAN _V64_4590_CHAN[4];
  CHAN *_V64_4590[4];
  tSF_P_OverWrBuff_FileServer_2339 _C534;
};
struct SF_P_4592
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_AlarmServerFather_2532 _C536;
};
struct SF_P_4593
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_VolumeServer_2569 _C538;
};
struct SF_P_4594
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_FlashDriverFather_3016 _C540;
};
struct SF_P_4595
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_TestOccamVsCInconcistency_3146 _C542;
};
struct SF_P_4596
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_CodeCksumTst_1953 _C544;
};
struct SF_P_4597
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_ExceptionDemux_1990 _C546;
};
struct SF_P_4600
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  INT bufferIn_4598[3];
  INT bufferOut_4599[3];
  tSF_P_OverWrBuff_ExceptionHandler_2308 _C548;
};
struct SF_P_4601
{
  tHeader _Header;
  tSF_P_4603 *Chain;
  tSF_P_ExceptionBlinker_1981 _C550;
};
struct SF_P_4602
{
  tHeader _Header;
  tSF_P_4603 *Chain;
  tSF_P_ExceptionHandler_2010 _C552;
};
struct SF_P_4603
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tTask _T62;
  tSF_P_4601 _C551;
  tTask _T63;
  tSF_P_4602 _C553;
};
struct SF_P_4604
{
  tHeader _Header;
  tSF_P_4605 *Chain;
  tSF_P_OverWrBuff_INT_2407 _C555;
};
struct SF_P_4605
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  tTask _T47;
  tSF_P_3592 _C338;
  tTask _T48;
  tSF_P_3593 _C340;
  tTask _T51;
  tSF_P_4024 _C403;
  tTask _T52;
  tSF_P_4027 _C405;
  tTask _T53;
  tSF_P_4589 _C533;
  tTask _T54;
  tSF_P_4591 _C535;
  tTask _T55;
  tSF_P_4592 _C537;
  tTask _T56;
  tSF_P_4593 _C539;
  tTask _T57;
  tSF_P_4594 _C541;
  tTask _T58;
  tSF_P_4595 _C543;
  tTask _T59;
  tSF_P_4596 _C545;
  tTask _T60;
  tSF_P_4597 _C547;
  tTask _T61;
  tSF_P_4600 _C549;
  tTask _T64;
  tSF_P_4603 _C554;
  tTask _T65;
  tSF_P_4604 _C556;
};
struct SF_P_4606
{
  tHeader _Header;
  tSF_P_M_GL100_m_gl100 *Chain;
  tSF_P_UllCalcFather_2701 _C558;
};
struct SF_P_M_GL100_m_gl100
{
  tHeader _Header;
  void *Chain;
  INT *mem_51;
  INT mem_51_Dim0;
  INT *FlashType_70;
  BYTE *C33_NONE_LOGGED_ON_STR_162;
  INT *AlbumDecodeClassReason_513;
  INT *AlbumDecodeG4F32_518;
  INT *AlbumDecodeAlaG4_523;
  INT *AlbumDecodeSeqF32_529;
  INT *IsAlbumInput_541;
  INT *IsAlbumOutput_543;
  INT *AlbumDecode_546;
  INT *NCR_AllOK_20_1066;
  INT *NCR_AllOK_1068;
  INT *NCR_YouAreNotLoggedOn_1070;
  INT *NCR_RdXYF32CrvReNack_SeqStopped_1072;
  INT *NCR_UllCalcIsOffended_1074;
  INT *NCR_IllegalInputEvent_1076;
  INT *NCR_FileServerNackEnd_1078;
  INT *NCR_SubnetNodeBreakinNotAllowed_1080;
  INT *NCR_CurveBreakpointRemoved_1082;
  INT *NCR_Events_dat_OnlyVerV10Supported_1084;
  INT *NCR_Events_dat_OnlyVerV11Supported_1086;
  INT *NCR_Events_dat_OnlyVerV12Supported_1088;
  INT *NCR_Events_dat_OnlyVerV13Supported_1090;
  INT *NCR_Events_dat_OnlyVerV14Supported_1092;
  INT *NCR_Events_dat_OnlyVerV15Supported_1094;
  INT *NCR_Events_dat_OnlyVerV16Supported_1096;
  INT *NCR_Events_dat_OnlyVerV17Supported_1098;
  INT *NCR_Events_dat_OnlyVerV18Supported_1100;
  INT *NCR_Events_dat_OnlyVerV19Supported_1102;
  INT *NCR_Events_dat_SizeError_1104;
  INT *NCR_Events_dat_SubscribedError_1106;
  INT *NCR_Events_dat_DeltaError_1108;
  INT *NCR_Events_dat_TimeoutNotInRangeError_1110;
  INT *NCR_Events_dat_TimeoutNotSecondsError_1112;
  INT *NCR_RestartedInFlashCriticalPhase_1114;
  INT *NCR_I0CodeChecksumError_1116;
  INT *NCR_I1CodeChecksumError_1118;
  INT *NCR_I01CodeChecksumError_1120;
  INT *NCR_CodePrgChecksumError_1122;
  INT *NCR_AlbumInputLost1_1124;
  INT *NCR_AlbumInputLostMore_1126;
  INT *NCR_AlbumInputForwarded_1128;
  INT *NCR_flash6_UsingRestored_1130;
  INT *NCR_flash6_RestoredFrom_flash7_1132;
  INT *NCR_flash6_Restore_error_1134;
  INT *NCR_flash6_ChecksumError_1136;
  INT *NCR_Events_dat_IsPolledError_1138;
  INT *NCR_DualPortSyncError_1140;
  INT *NCR_AllOK_Files_1142;
  INT *NCR_HOutSplitToPackets_NotSentAll_1144;
  INT *NCR_HMessageRouter_AlbCmdNotImpl_1146;
  INT *NCR_ExceptionHandler_Overflow_1148;
  INT *NCR_FlashDriver_FlashUnknown_1150;
  INT *NCR_AlarmLimitInputEventError_1152;
  INT *NCR_AntennaTempMissing_1154;
  INT *NCR_AlarmLimitCannotModifyFile_1156;
  INT *NCR_FlashDefaultingTo_AMD29F040_1158;
  INT *NCR_FlashDefaultingError_1160;
  INT *NCR_LogOnOffCrvServerFailed_1162;
  INT *NCR_FileServerNoReplyFromInternal_1164;
  INT *NCR_FlashTypeNotEstabished_1166;
  INT *NCR_CrvServerWaiting_1168;
  INT *NCR_CannotFindFile_1170;
  INT *NCR_CannotFindFile_Boot1db_bin_1172;
  INT *NCR_CannotCreateFile_1174;
  INT *NCR_CannotModifyFile_1176;
  INT *NCR_ErrorInDataOfFile_1178;
  INT *R_FileErrorList_1182;
  INT *NCR_ADConverterOrDMAError_1184;
  INT *NCR_StatBufferLonWrError_1186;
  INT *NCR_StatBufferDSPWrError_1188;
  INT *NCR_StatBufferWrComAlignmentError_1190;
  INT *NCR_StatBufferRdComAlignmentError_1192;
  INT *NCR_StatBufferWrEventAlignmentError_1194;
  INT *NCR_StatBufferRdEventAlignmentError_1196;
  INT *NCR_CannotWriteCom_1198;
  INT *NCR_CannotWriteEvent_1200;
  INT *NCR_AlbumDecodeError_1202;
  INT *NCR_AlbumDecodeError_2_1204;
  INT *NCR_HInMergePackets_ParserError_1206;
  INT *NCR_HMessageRouter_UnpackAlbumCmd_1208;
  INT *NCR_HMessageRouter_PackAlbumReply_1210;
  INT *NCR_HMessageRouter_LogOnTable_1212;
  INT *NCR_HEventRouter_PackAlbumReply_1214;
  INT *NCR_HCurveServer_NotAlbum_1216;
  INT *NCR_HCurveServer_CmdErr_1218;
  INT *NCR_OccamVsCInconcistency_1220;
  INT *NCR_HOutSplitToPackets_Internal_1222;
  INT *NCR_UllCalcError_1224;
  INT *NCR_HRawDriver_1226;
  INT *NCR_HUllCalc_1228;
  INT *NCR_HEventRouter_CmdErr_1230;
  INT *NCR_HFileServer_NotAlbum_1232;
  INT *NCR_DualPort_AcquireAccessAtInit_1234;
  INT *NCR_FileServer_1236;
  INT *NCR_VolSrvError_1238;
  INT *NCR_BroadcastLogOnOffError_1240;
  INT *NCR_AlaSrvError_1242;
  INT *NCR_Flash_Errors_1244;
  BYTE *_V4_1252;
  BYTE *_V3_1253;
  BYTE *_V2_1254;
  BYTE *_V1_1255;
  BYTE *NamesOfDeviceTypes_1257;
  BYTE *Flash6_1259;
  INT *MoveBetween_1267;
  BYTE *_V17_1287;
  BYTE *_V16_1288;
  BYTE *_V15_1289;
  BYTE *_V14_1290;
  BYTE *_V13_1291;
  BYTE *_V12_1292;
  BYTE *_V11_1293;
  BYTE *_V10_1294;
  BYTE *_V9_1295;
  BYTE *_V8_1296;
  BYTE *_V7_1297;
  BYTE *_V6_1298;
  BYTE *_V5_1299;
  BYTE *NameOfFiles_1301;
  INT *IOfHatFile_1303;
  INT *ReadAtInitFlash6Files_1305;
  INT *ServeTheseClientsAtInit_m_gl100_1307;
  INT *ServeTheseClientsAtInit_m_boot1_1308;
  INT *UsersOfFiles_1310;
  INT *BlinkStartup_DualPortError_1324;
  INT *BlinkStartup_ADError_1326;
  INT *BlinkRuntime_ExceptionHandler_1328;
  INT *BlinkStartup_DualPortError_1330;
  INT *BlinkStartup_ADError_1332;
  INT *BlinkRuntime_ExceptionHandler_1334;
  INT *FlashDrvFileDrvStatus_1385;
  INT *T1601_1Sec_100ns_1440;
  INT *FragmentStatus_1610;
  INT *ResultFragmentStatus_1612;
  BYTE *VerOfProductStr_1942;
  INT *EFCB_OfProgramCode_1945;
  CHAN chan000_3148_CHAN;
  CHAN *chan000_3148;
  CHAN chan000Local_3150_CHAN;
  CHAN *chan000Local_3150;
  CHAN chan001_3152_CHAN;
  CHAN *chan001_3152;
  CHAN chan010_3154_CHAN;
  CHAN *chan010_3154;
  CHAN chan011_3156_CHAN;
  CHAN *chan011_3156;
  CHAN chan020_3158_CHAN;
  CHAN *chan020_3158;
  CHAN chan030_3160_CHAN;
  CHAN *chan030_3160;
  CHAN chan040_3162_CHAN;
  CHAN *chan040_3162;
  CHAN chan050_3164_CHAN;
  CHAN *chan050_3164;
  CHAN chan051_3166_CHAN;
  CHAN *chan051_3166;
  CHAN chan060_3168_CHAN;
  CHAN *chan060_3168;
  CHAN chan061_3170_CHAN;
  CHAN *chan061_3170;
  CHAN chan070_3172_CHAN;
  CHAN *chan070_3172;
  CHAN chan071_3174_CHAN;
  CHAN *chan071_3174;
  CHAN chan080_3176_CHAN;
  CHAN *chan080_3176;
  CHAN chan081_3178_CHAN;
  CHAN *chan081_3178;
  CHAN chan090_3180_CHAN;
  CHAN *chan090_3180;
  CHAN chan091_3182_CHAN;
  CHAN *chan091_3182;
  CHAN chan100_3184_CHAN;
  CHAN *chan100_3184;
  CHAN chan120_3186_CHAN;
  CHAN *chan120_3186;
  CHAN chan140_3188_CHAN;
  CHAN *chan140_3188;
  CHAN chan141_3190_CHAN;
  CHAN *chan141_3190;
  CHAN chan150_3192_CHAN;
  CHAN *chan150_3192;
  CHAN chan151_3194_CHAN;
  CHAN *chan151_3194;
  CHAN chan160_3196_CHAN;
  CHAN *chan160_3196;
  CHAN chan161_3198_CHAN;
  CHAN *chan161_3198;
  CHAN chan170_3200_CHAN;
  CHAN *chan170_3200;
  CHAN chan171_3202_CHAN;
  CHAN *chan171_3202;
  CHAN chan180_3204_CHAN;
  CHAN *chan180_3204;
  CHAN chan181_3206_CHAN;
  CHAN *chan181_3206;
  CHAN chan190_3208_CHAN;
  CHAN *chan190_3208;
  CHAN chan191_3210_CHAN;
  CHAN *chan191_3210;
  CHAN chan200_3212_CHAN;
  CHAN *chan200_3212;
  CHAN chan201_3214_CHAN;
  CHAN *chan201_3214;
  CHAN chan210_3216_CHAN;
  CHAN *chan210_3216;
  CHAN chan211_3218_CHAN;
  CHAN *chan211_3218;
  CHAN chan220_3220_CHAN;
  CHAN *chan220_3220;
  CHAN chan230_3222_CHAN;
  CHAN *chan230_3222;
  CHAN chan231_3224_CHAN;
  CHAN *chan231_3224;
  CHAN chan240_3226_CHAN;
  CHAN *chan240_3226;
  CHAN chan241_3228_CHAN;
  CHAN *chan241_3228;
  CHAN chan250_3230_CHAN;
  CHAN *chan250_3230;
  CHAN chan251_3232_CHAN;
  CHAN *chan251_3232;
  CHAN chan260_3234_CHAN;
  CHAN *chan260_3234;
  CHAN chan261_3236_CHAN;
  CHAN *chan261_3236;
  CHAN chan290_3238_CHAN;
  CHAN *chan290_3238;
  CHAN chan291_3240_CHAN;
  CHAN *chan291_3240;
  CHAN chan310_3242_CHAN;
  CHAN *chan310_3242;
  CHAN chan310Local_3244_CHAN;
  CHAN *chan310Local_3244;
  CHAN chan320_3246_CHAN;
  CHAN *chan320_3246;
  CHAN chan330_3248_CHAN;
  CHAN *chan330_3248;
  CHAN chan340_3250_CHAN;
  CHAN *chan340_3250;
  CHAN chan350_3252_CHAN;
  CHAN *chan350_3252;
  CHAN chan360_3254_CHAN;
  CHAN *chan360_3254;
  CHAN chan370_3256_CHAN;
  CHAN *chan370_3256;
  CHAN chan380_3258_CHAN;
  CHAN *chan380_3258;
  CHAN chan390_3260_CHAN;
  CHAN *chan390_3260;
  CHAN chan391_3262_CHAN;
  CHAN *chan391_3262;
  CHAN chan800_3264_CHAN;
  CHAN *chan800_3264;
  CHAN chan910_3266_CHAN;
  CHAN *chan910_3266;
  CHAN chan920_3268_CHAN;
  CHAN *chan920_3268;
  CHAN chan1000_3270_CHAN;
  CHAN *chan1000_3270;
  CHAN chan300Array_3272_CHAN[5];
  CHAN *chan300Array_3272[5];
  CHAN chan270Array_3274_CHAN[2];
  CHAN *chan270Array_3274[2];
  CHAN chan271Array_3276_CHAN[2];
  CHAN *chan271Array_3276[2];
  CHAN chan400Array_3278_CHAN[3];
  CHAN *chan400Array_3278[3];
  CHAN chan900Array_3280_CHAN[16];
  CHAN *chan900Array_3280[16];
  BOOL dualPortError_3281;
  BOOL adHardwareError_3282;
  union
  {
    tSF_P_VerifyAlbum_3287 _C258;
    struct
    {
      tTask _T35;
      tSF_P_3288 _C260;
      tTask _T36;
      tSF_P_3295 _C263;
    } _S138;
    struct
    {
      tTask _T37;
      tSF_P_3298 _C266;
      tTask _T66;
      tSF_P_4605 _C557;
      tTask _T67;
      tSF_P_4606 _C559;
    } _S139;
  } _U133;
};
//
/*lint --flb    */
/*lint -restore */


#if (defined GENPROTO) || !(defined LIBRARY_UNIT)

	jmp_buf STOPP_env;
	tTask  *QFP[NUM_PRIORITY_LEVELS];
	tTask  *QBP[NUM_PRIORITY_LEVELS];
	tTask  *CURTASK;
	tTask  *QTM;
	tTimer  TIMER;
static  int     TimerEvent = false;
// DMA Interrupt 1 at interrupt vector EA+012 handling:
static tTask  *DINT1TASK = NoTask;  // Teig
static int     DINT1Event = false;  // Teig
static CHAN   *DINT1EventChannel;   // Teig Same name in "O_RawDri.inc"
// The Texas emulator won't see these values if we don't initialize them:
static int idle_ms = 0;             // Teig
static int idle_max_ms = 0;         // Teig
static int timer_int_tick = false;  // Teig
static int survivalFromLastRun = 0; // Teig
#define NUM_BREAKPOINT (27 + 1) // 1 extra for "default" // Teig
static  int breakpointCnt[NUM_BREAKPOINT] = {0}; // Teig
#define DUAL_PORT_SURVIVAL_TO_LON (int *) 0x810080 // 0x8080 on Lon (See "DualPort.c")
// Pointer to a single byte in dual-port, situated in righmost byte of int32:
static int *survivalToDualPort_ptr = DUAL_PORT_SURVIVAL_TO_LON;
// Nice for debugger, and we don't have to "read,bitor,write" with dual-port, only "write":
static int  survivalToDualPort_copy = 0;
#define TOP_OF_STACK_TST_VALUE (int)0xf0e1d2c3 // Something unique!
static int *topOfStackPtr = 0;
static int schedCnt = 0; // ifdef DEBUG_COUNT_PROCESS_SCHEDULES

#endif
#ifdef GENPROTO

void seterr(char *M,int L,char *F) {}


struct Prototypes
{
  char *Proto;
  char *Define;
  int Space;
};


static struct Prototypes Table[] =
{
 {NULL,NULL,0}
} ;


int main(int argc, char**argv)
{
  char *name;
  FILE *f;
  int fcnt;
  CheckPrimitiveSizes();
  if (argc<2)
  {
    name="m_gl100.hdr";
    f=fopen(name,"w");
  }
  else
  {
    name = argv[argc-1];
    if (name[0]=='-')
    {
      name = "stdout";
      f=stdout;
    }
    else
    {
      f=fopen(name,"w");
    }
  }
  fcnt=argc-1;
  if (f==NULL)
    { fprintf(stderr,"Fatal - could not open file %s\n",name);exit(-1); }
  else
  {
    int arg;
    int i;
    fprintf(f,"#ifndef __m_gl100_INCLUDES__\n");
    fprintf(f,"#define __m_gl100_INCLUDES__\n");
    for(arg = 1; arg < fcnt; ++arg)
    {
      FILE *fh = fopen(argv[arg],"r");
      if (fh == NULL) { fprintf(stderr,"Fatal - could not read file %s\n",name); exit(-1); }
      while(!feof(fh))
      {
	char line[256];
	if (fgets(line,256,fh) == NULL) break;
	if (line[0] == '#')
	  if (strncmp(line,"#define WS",10)!=0) continue;
	fputs(line,f);
      }
      fclose(fh);
    }      
    i = 0;
    while (Table[i].Proto!=NULL)
    {
      if (Table[i].Define != NULL)
      {
	fprintf(f,"typedef struct SF_%s tSF_%s;\n",Table[i].Define,Table[i].Define);
	fprintf(f,"#define WS_%s (%d)\n",Table[i].Define,Table[i].Space);
      }
      fprintf(f,"%s\n",Table[i].Proto);
      i++;
    }
    fprintf(f,"#endif\n");
    if (f!=stdout) fclose(f);
  }
  return(0);
}     

#endif

#ifndef LIBRARY_UNIT

static int Reset_idle_max_ms (void)
{
   int old;
   {
      old = idle_max_ms;
      idle_max_ms = 0;
      return (old);
   }
}


int Get_survivalFromLastRun (void)
{
   return (survivalFromLastRun);
}
void Set_survivalFromLastRun (const int SurvivalFromLastRun)
{
   survivalFromLastRun = SurvivalFromLastRun;
}


// Dual-port access without hardware semaphore Ping-Pong
// is acceptable under the following conditions:
//
// 1. No read/read conflict
//    We don't have any read/read situation at all
// 2. No write/read conflict
//    DSP writes when it wants to. The address is exclusive.
//    Lon-controller reads in the phase when it is holding DSP reset.
//    -> No conflict
void Set_survivalToDualPort (const int SurvivalToDualPort)
{
    // This procedure is used during a controlled shutdown
    // Right-most byte only:
    // We "bitor" with a copy instead of "read,bitor,write"
    // Dual-port access without hardware semaphore Ping-Pong:
    *survivalToDualPort_ptr = SurvivalToDualPort | survivalToDualPort_copy;
}
void Set_survivalToDualPort_AndCopy (const int SurvivalToDualPort_copy)
{
    // This procedure is used to leave _something_ in case of a _missing_ controlled shutdown,
    // followed by a reset initiated by the Lon-controller
    // Right-most byte only:
    // Dual-port access without hardware semaphore Ping-Pong:
    *survivalToDualPort_ptr = SurvivalToDualPort_copy;
    survivalToDualPort_copy = SurvivalToDualPort_copy;
}


/*
 * OBSERVE: For linker to find the timer interrupt, name c_int09 MUST be used!
 */
// Texas wants us to do it wihout "extern", but this costs us
// lint filters (714  = not referenced) and (765 = could be made static)
// See "options.lnt",
//
// extern void
// c_int09 (void);
void
c_int09 (void) // If static, the linker will not see it!
{
   // This timer interrupt routine takes som 92-100 clock ticks.
   // With 1 ms (20 000 clock ticks) this is an overhead of some 0.5%
   TIMER = TIMER + 1;
   timer_int_tick = true; // Also used at power-up!
   if (QTM != NoTask && AFTER(TIMER,QTM->comms.timer.time))
   {
      TimerEvent = true;
   }
}


/*
 *  Called from "Ser_Port.c"
 *  Exported in "DINT1.h"
 */
void c_int12_signal_if (void)
{
   if (DINT1TASK != NoTask)
   {
      DINT1Event = true;
   }
}


void BlinkAndLeaveOn (const int NoOfBlinks)
{
   int blinks;
   for (blinks = 0; blinks < NoOfBlinks; blinks++)
   {
      #define OneSecond 714000
      int cnt = 0;
      Write_DSP_LEDs (0x00);
      for (cnt = 0; cnt < OneSecond; cnt++) {}
      Write_DSP_LEDs (0x11);
      for (cnt = 0; cnt < OneSecond; cnt++) {}
   }
}


//
//
// 1. Now press the GLK-100 push-button to reset
//    LON-controller.
// 2. Stare at the "SystemError" LED, and hit "F5"
//    when it goes off!
// PRECONDITION:
//    Both connections from reset-logic and Lon-controller
//    to DSP reset-pin must be broken!
void LON_Synch_Breakpoint (void)
{
}
//
//
// 1. You did not hit "F5" accurately enough
// 2. The LON-controller isn't working properly
// 3. The PRECONDITION above hasn't been met
// TRY:
//    Restart emulator and LON-controller again and
//    be more accurate (count to 4.5)!
void LON_Synch_Error_TryAgain (void)
{
}


static void InitBreakpointCnt (void)
{
   int i;
   for (i=0; i < NUM_BREAKPOINT; i++)
   {
      breakpointCnt[i] = 0;
   }
   i = breakpointCnt[0]; // For lint, to avoid e551 on breakpointCnt
}
//
//
//  Be sure to set a breakpoint at BPException below!
//
void Breakpoint (const int BreakpointNo)
{
   switch (BreakpointNo)
   {
      case 0:
	 breakpointCnt[0]++;
	 break; // BpException
      case 1:
	 breakpointCnt[1]++;
	 break; // BpViewLastException
      case 2:
	 breakpointCnt[2]++;
	 break; // BpAny
      case 3:
	 breakpointCnt[3]++;
	 break; // BpSpecial
      case 4:
	 breakpointCnt[4]++;
	 break; // BpCMain
      case 5:
	 breakpointCnt[5]++;
	 break; // BpOccamTopLevel
      case 6:
	 breakpointCnt[6]++;
	 break; // BpDualPortDriver
      case 7:
	 breakpointCnt[7]++;
	 break; // BpDualPortComIn
      case 8:
	 breakpointCnt[8]++;
	 break; // BpDualPortComOut
      case 9:
	 breakpointCnt[9]++;
	 break; // BpDualPortEventIn
      case 10:
	 breakpointCnt[10]++;
	 break; // BpDualPortEventOut
      case 11:
	 breakpointCnt[11]++;
	 break; // BpInMergePackets
      case 12:
	 breakpointCnt[12]++;
	 break; // BpOutSplitToPackets
      case 13:
	 breakpointCnt[13]++;
	 break; // BpClientLogOn
      case 14:
	 breakpointCnt[14]++;
	 break; // BpMessageRouter
      case 15:
	 breakpointCnt[15]++;
	 break; // BpAlbumMonitor
      case 16:
	 breakpointCnt[16]++;
	 break; // BpCurveServer
      case 17:
	 breakpointCnt[17]++;
	 break; // BpFileServer
      case 18:
	 breakpointCnt[18]++;
	 break; // BpFileServerCmdInt
      case 19:
	 breakpointCnt[19]++;
	 break; // BpFlashDriver
      case 20:
	 breakpointCnt[20]++;
	 break; // BpAlarmServer
      case 21:
	 breakpointCnt[21]++;
	 break; // BpVolumeServer
      case 22:
	 breakpointCnt[22]++;
	 break; // BpUllCalc
      case 23:
	 breakpointCnt[23]++;
	 break; // BpRawDriver
      case 24:
	 breakpointCnt[24]++;
	 break; // BpEventRouter
      case 25:
	 breakpointCnt[25]++;
	 break; // BpCodeChecksum
      case 26:
	 breakpointCnt[26]++;
	 break; // BpAlbumErr
      default:
	 breakpointCnt[27]++;
	 SETERR (MSG_CASE);
   }
}
//
//
//
//
//
//
//
//
//
//
//
//


//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
static void DONE_SETERR (void) {}
void seterr (char *Message, int LineNo, char *FileName)
{
  int firstChar = (int) Message[0];
  Set_survivalToDualPort (firstChar);
  Breakpoint(0);
  BlinkAndLeaveOn(60);
  SETERR_PROCEED;
} /*lint !e715 FileName, LineNo (line _) not referenced */
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
// GLKDSP=1044: seterr_ is new
void seterr_ (char *Message)
{
  seterr (Message,__LINE__,__FILE__); // Always h e r e
}
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////


static void Init_Timer (void)
{
  // TIMER = 0; // Teig: If we don't initialize it, we get random start-times!
  QTM = NoTask;
  TimerEvent = false;
}


static void Set_DINT1EventChannel (CHAN *chan)
{
   DINT1EventChannel = chan;
   DINT1TASK = CURTASK;
}


static void Init_Scheduler (void)
{
  int i;
  for(i = 0; i < NUM_PRIORITY_LEVELS; ++i)
     QFP[i] = (QBP[i] = NoTask);
  CURTASK = NoTask;
  Init_Timer();
}


static void Scheduler (void)
{
   if (setjmp(STOPP_env))
   {
      DeSchedule((tTaskMode) 0);
   }
   while(CURTASK != NoTask || TimerEvent || DINT1Event)
   {
      int pri;
      
      if (DINT1Event)
      {
	 int data = 1;
	 if (ChanOut4_InterruptEvent (DINT1EventChannel, &data, DINT1TASK) == 1)
	 {
	    DINT1Event = false;
	    // If, for some reason ChanOut4_InterruptEvent fails to find a receiving task,
	    // let's just continue until it finds one. We do this by keeping DINT1Event true.
	    // This is perfectly sound, the receiving task may be processing some other
	    // request, or may have this guard disabled.
	 }
	 else
	 {
	    DINT1Event = true; // Just so that we have something to stop on in the debugger
	 }
      }
      
      
      // No "else if" here! We want to accept timeouts even if DINT1Event hasn't been cleared!
      if (TimerEvent)
      {
	 TimerEvent = false;
	 while(QTM != NoTask && AFTER(TIMER,QTM->comms.timer.time))
	 {
	    if (QTM->AltMode == Waiting_p) QTM->AltMode = TReady_p;
	    ReSchedule(QTM);
	 }
      }
      
      for (pri = 0; pri < NUM_PRIORITY_LEVELS; ++pri)
      {
	 if ((CURTASK=QFP[pri]) != NoTask) // Assignemt of CURTASK is here!
	 {
	    // lint 534: Ignoring return value of
	    // lint 746: call to unidentified function not made in the presence of a prototype
	    // Next task is scheduled through this point
	    CURTASK->Func (CURTASK->FP); /*lint !e534 !e746 See above */
	    #ifdef DEBUG_COUNT_PROCESS_SCHEDULES
	      schedCnt++;
	    #endif
	    if (*topOfStackPtr != TOP_OF_STACK_TST_VALUE)
	    {
	      SETERR(MSG_STACK_OVERFLOW);
	    }
	    break;
	 }
      }
      
      if (CURTASK == NoTask && QTM != NoTask)
      {
	 idle_ms = 0;
	 while((TimerEvent==0) && (DINT1Event==0))
	 {
	    // Teig
	    // Observe that timer interrupt latency is
	    // increased a little with this code:
	    Set_survivalToDualPort(1);
	    if (timer_int_tick == true)
	    {
	       idle_ms++;
	       timer_int_tick = false;
	       if (idle_ms > idle_max_ms)
	       {
		  idle_max_ms = idle_ms;
	       }
	    }
	 }
      }
      
   }
   SETERR(MSG_TA); /* Teig */
}


void Start_Process(register tTask *task, register tFuncPtr Func, register void *FP, register char *name,int Priority)
{
   static int NextTaskId = 0;
   task->FP = FP;
   task->Func = Func;
   task->state = EXEC_p;
   task->name = name;
   task->Parent = CURTASK;
   task->Children = 0;
   task->Next = NoTask;
   task->AltMode = NotAlting_p;
   task->TaskId = NextTaskId++;
   // (INT) decoration to avoid lint -e641 Converting enum to int
   task->TaskPriority = (CURTASK != NoTask && CURTASK->TaskPriority == (INT)HighPriority) ? (INT)HighPriority : Priority;
   ((tHeader *)FP)->ProcName = name;
   if (Priority < 0 || Priority >= NUM_PRIORITY_LEVELS) SETERR(MSG_PRI);
   if (QFP[task->TaskPriority])
      QBP[task->TaskPriority]->Next = task;
   else
      QFP[task->TaskPriority] = task;
   QBP[task->TaskPriority] = task;
   if (CURTASK != NoTask) CURTASK->Children++;
   else CURTASK = task;
}


//
//
// 1. Now press "F5" and wait 5 seconds for LON synch. point.
int main (void)
{
   void *FP = NULL;
   tTask main_t;
   const uint32_a NoOfInt32s = sizeof(tSF_P_M_GL100_m_gl100);
   uint32_a       missing;
   unsigned int   stackStart, stackSize;
   bool_a         ramTstErr;
   int            testTimerNow;
   {
      tSF_P_M_GL100_m_gl100 *MAINFP=(tSF_P_M_GL100_m_gl100 *)Malloc32(NoOfInt32s, &missing);
      // --------------------------------------------------------------------
      // File "occam2c.lnt" must be used, else lint will complain:
      // We must use it for an already existing value:
      testTimerNow = OCCAM2C_LNT_USED_AVOID_e766_F;
      // --------------------------------------------------------------------
      // Problems with "restart" in debugger and timer:
      testTimerNow = 1;
      // Set it to zero instead if you want to avoid Timer test Seterr
      // --------------------------------------------------------------------
      
      if (RamTstUsage_ms() == TRUE) /*lint !e641 Converting enum to int */
      {
	 // Don't do it if running in emulator!
	 ramTstErr = FALSE; // OK until otherwise proven
	 ramTstErr = X0_RamTstErr (ramTstErr);
	 ramTstErr = X1_RamTstErr (ramTstErr);
	 ramTstErr =  Y_RamTstErr (ramTstErr);
	 if (ramTstErr == TRUE)
	 {
	    // was s e t e r r (MSG_EXRAM_ERR,__LINE__,__FILE__);
	    SETERR (MSG_EXRAM_ERR);
	 }
      }
      
      
      stackStart = Get_StackStart();
      stackSize  = Get_StackSize(); // Referenced to SP in c_int00
      //   Margin                                          0x100
      // + In main (here) stack has grown since c_int00 by 0x01c
      // - Growth of stack in Get_StackStart is            0x002
      // -------------------------------------------------------
      // = SubtractBy                                      0x11a
      // =======================================================
      stackSize = stackSize - 0x11a;
      topOfStackPtr  = (int *)(stackStart + stackSize);
      *topOfStackPtr = TOP_OF_STACK_TST_VALUE;
      
      Set_survivalToDualPort_AndCopy(0);
      InitBreakpointCnt();
      InitBusStrobes(); // In "cpureg.c"
      
      if (MAINFP==NULL)
      {
	 // was s e t e r r (MSG_MALLOC,__LINE__,__FILE__);
	 SETERR (MSG_MALLOC);
	 /* fprintf(stderr,"Error - Malloc of %s bytes for occam workspace failed\n",sizeof(tSF_P_M_GL100_m_gl100)); */
      }
      
      CheckPrimitiveSizes(); // In occam2c.h
      
      {
	 if (CodeIsRunningInRam() == 1) // In "RamTst.c"
	 {
	    // We need to do this for programs booted to external RAM via booting mechanism:
	    ReallocateVectors(); // In "cpureg.c"
	 }
      }
      {
	 int cnt;
	 const INT OccamHighAndLowPriTime_1000uS = 1000; // 1mS
	 InitTimer0Int(OccamHighAndLowPriTime_1000uS);   // In "cpureg.c"
	 if (testTimerNow == 1)
	 {
	    
	    //---------------------------------------------------------------------------
	    #define o0 // o2 or o0                                                     //
										       //
	    #ifdef o2 // Rather: non-specified "o"-option, is it "o2"?                 //
	    #define cnt1 400                                                           //
	    #define cnt2 171                                                           //
	    #endif                                                                     //
										       //
	    #ifdef o0                                                                  //
	    #define cnt1 800                                                           //
	    #define cnt2 500                                                           //
	    #endif                                                                     //
										       //
	    // Question to you: is optimalization in debug and flash versions alike?   //
	    // They must be! (See m_gl100.mak)                                         //
										       //
	    // Unspecified compiler optimalization level (=o2?)  ********              //
	    // Compiler optimalization level (=o0)                         ********    //
	    // ---------- Accumulated time: --------------------     0 us              //
	    for (cnt = 0; cnt < cnt1; cnt++) {} // -------------                       //
	    // ---------- Accumulated time: --------------------   767 us              //
	    if (timer_int_tick != false)                                               //
	    {                                                                          //
	       // Observe that compiler optimalization level will                      //
	       // affect this measurement!                                             //
	       // was s e t e r r (MSG_TIMER,__LINE__,__FILE__);                       //
	       SETERR (MSG_TIMER);                   // Too fast!                      //
	       // Set testTimerNow to 0 first in "main" if you want to avoid it!       //
	    }                                                                          //
	    // ---------- Accumulated time: --------------------   768 us              //
	    for (cnt = 0; cnt < cnt2; cnt++) {} // --------------                      //
	    // ---------- Accumulated time: --------------------  1100 ms   1080 ms    //
	    if (timer_int_tick == false)                                               //
	    {                                                                          //
	       // Observe that compiler optimalization level will                      //
	       // affect this measurement!                                             //
	       // was s e t e r r (MSG_TIMER,__LINE__,__FILE__);                       //
	       SETERR (MSG_TIMER);                   // Too slow!                      //
	       // Set testTimerNow to 0 first in "main" if you want to avoid it!       //
	    }                                                                          //
	    //--------------------------------------------------------------------------
	    
	 }
      }
      
      Init_Scheduler();
      STARTP(&main_t,P_M_GL100_m_gl100,MAINFP,"P_M_GL100_m_gl100",(INT)LowPriority);
      Scheduler();
      return 0;
   }
}

#endif
#ifndef GENPROTO



static INT F_string_pos_745(tSF_P_M_GL100_m_gl100 *PP,INT search_734_Dim0,BYTE *search_734,INT str_735_Dim0,BYTE *str_735)
{
  INT _Result;
  tSF_F_string_pos_745 SF;
  tSF_F_string_pos_745 *FP = &SF;
  FP->Chain = PP;
  {
    INT pos_736;
    {
      pos_736 = -1; 
      {
	INT bytes_737;
	INT len_738;
	bytes_737 = (INT)((search_734_Dim0) - 1);
	len_738 = (INT)(str_735_Dim0);
	if ((bytes_737 > 0))
	{
	  {
	    INT times_739;
	    INT n_740;
	    BOOL looking_741;
	    times_739 = (INT)(len_738 - bytes_737);
	    {
	      n_740 = 0; 
	      looking_741 = true; 
	      while (looking_741)
	      {
		{
		  while (((n_740 < times_739) && (*((BYTE*)(((BYTE*)str_735)+(RNGCHK(n_740,str_735_Dim0)*sizeof(BYTE)))) != *((BYTE*)(((BYTE*)search_734)+(0*sizeof(BYTE)))))))
		  {
		    n_740 = (n_740 + 1); 
		  }
		  if ((n_740 >= times_739))
		  {
		    {
		      looking_741 = false; 
		      pos_736 = -1; 
		    }
		  }
		  else
		  {
		    INT i_742;
		    INT i_742_End;
		    i_742 = 1;i_742_End = i_742 + bytes_737;
		    for (; i_742 != i_742_End; i_742++)
		    {
		      if ((*((BYTE*)(((BYTE*)str_735)+(RNGCHK((n_740 + i_742),str_735_Dim0)*sizeof(BYTE)))) != *((BYTE*)(((BYTE*)search_734)+(RNGCHK(i_742,search_734_Dim0)*sizeof(BYTE))))))
		      {
			n_740 = (n_740 + 1); 
		      }
		      else
		      {
			continue;
		      }
		      break;
		    }
		    if (i_742 == i_742_End) 
		    if (true)
		    {
		      {
			looking_741 = false; 
			pos_736 = n_740; 
		      }
		    }
		    else
		    {
		      SETERR(MSG_IF);
		    }
		  }
		}
	      }
	    }
	  }
	}
	else
	if ((bytes_737 == 0))
	{
	  {
	    INT i_743;
	    INT i_743_End;
	    i_743 = 0;i_743_End = i_743 + len_738;
	    for (; i_743 != i_743_End; i_743++)
	    {
	      if ((*((BYTE*)(((BYTE*)str_735)+(RNGCHK(i_743,str_735_Dim0)*sizeof(BYTE)))) == *((BYTE*)(((BYTE*)search_734)+(0*sizeof(BYTE))))))
	      {
		pos_736 = i_743; 
	      }
	      else
	      {
		continue;
	      }
	      break;
	    }
	    if (i_743 == i_743_End) 
	    if (true)
	    {
	      pos_736 = -1; 
	    }
	    else
	    {
	      SETERR(MSG_IF);
	    }
	  }
	}
	else
	if (true)
	{
	  pos_736 = -1; 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = pos_736;
  }
  return _Result;
}
static INT F_SizeOfTextNoTrailingSpaces_751(tSF_P_M_GL100_m_gl100 *PP,INT Text_746_Dim0,BYTE *Text_746)
{
  INT _Result;
  tSF_F_SizeOfTextNoTrailingSpaces_751 SF;
  tSF_F_SizeOfTextNoTrailingSpaces_751 *FP = &SF;
  FP->Chain = PP;
  {
    INT SizeOfTextNoTrailingSpaces_747;
    {
      // (1.24 14Aug98 For lint) SPOC -> warning 644 "may not have been initialized"
      SizeOfTextNoTrailingSpaces_747 = (Text_746_Dim0); 
      {
	INT i_748;
	INT i_748_End;
	i_748 = 0;i_748_End = i_748 + (Text_746_Dim0);
	for (; i_748 != i_748_End; i_748++)
	{
	  {
	    INT Size_749;
	    Size_749 = (INT)((Text_746_Dim0) - i_748);
	    if ((*((BYTE*)(((BYTE*)Text_746)+(RNGCHK((Size_749 - 1),Text_746_Dim0)*sizeof(BYTE)))) != 32))
	    {
	      SizeOfTextNoTrailingSpaces_747 = Size_749; 
	    }
	    else
	    {
	      continue;
	    }
	  }
	  break;
	}
	if (i_748 == i_748_End) 
	if (true)
	{
	  SizeOfTextNoTrailingSpaces_747 = (Text_746_Dim0); 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = SizeOfTextNoTrailingSpaces_747;
  }
  return _Result;
}
static void P_InsertText_755 (INT into_752_Dim0,INT *into_752,INT Text_753_Dim0,BYTE *Text_753)
{
  tSF_P_InsertText_755 SF;
  tSF_P_InsertText_755 *FP = &SF;
  {
    INT i_754;
    INT i_754_End;
    i_754 = 0;i_754_End = i_754 + (Text_753_Dim0);
    for (; i_754 != i_754_End; i_754++)
    {
      *((INT*)(((BYTE*)into_752)+(RNGCHK(i_754,into_752_Dim0)*sizeof(INT)))) = INTBYTE(*((BYTE*)(((BYTE*)Text_753)+(RNGCHK(i_754,Text_753_Dim0)*sizeof(BYTE))))); 
    }
  }
}
static void P_InsertCharsAndTrailingSpaces_761 (INT into_756_Dim0,BYTE *into_756,INT Text_757_Dim0,BYTE *Text_757)
{
  tSF_P_InsertCharsAndTrailingSpaces_761 SF;
  tSF_P_InsertCharsAndTrailingSpaces_761 *FP = &SF;
  {
    INT NoOfInvisibleChars_758;
    NoOfInvisibleChars_758 = (INT)((into_756_Dim0) - (Text_757_Dim0));
    if ((NoOfInvisibleChars_758 < 0))
    {
    }
    else
    if (true)
    {
      {
	{
	  INT i_759;
	  INT i_759_End;
	  i_759 = 0;i_759_End = i_759 + (Text_757_Dim0);
	  for (; i_759 != i_759_End; i_759++)
	  {
	    *((BYTE*)(((BYTE*)into_756)+(RNGCHK(i_759,into_756_Dim0)*sizeof(BYTE)))) = BYTEBYTE(*((BYTE*)(((BYTE*)Text_757)+(RNGCHK(i_759,Text_757_Dim0)*sizeof(BYTE))))); 
	  }
	}
	{
	  INT i_760;
	  INT i_760_End;
	  i_760 = (Text_757_Dim0);i_760_End = i_760 + NoOfInvisibleChars_758;
	  for (; i_760 != i_760_End; i_760++)
	  {
	    *((BYTE*)(((BYTE*)into_756)+(RNGCHK(i_760,into_756_Dim0)*sizeof(BYTE)))) = 32; 
	  }
	}
      }
    }
    else
    {
      SETERR(MSG_IF);
    }
  }
}
static void P_InsertTextIfSpace_767 (INT into_762_Dim0,INT *into_762,INT *iOfNextCharInList_763,INT NoOfCharsToInsertIfSpace_764,INT Text_765_Dim0,BYTE *Text_765,BOOL *ok_766)
{
  tSF_P_InsertTextIfSpace_767 SF;
  tSF_P_InsertTextIfSpace_767 *FP = &SF;
  if ((*ok_766 == false))
  {
  }
  else
  if (((*iOfNextCharInList_763 + NoOfCharsToInsertIfSpace_764) > (into_762_Dim0)))
  {
    *ok_766 = false; 
  }
  else
  if ((NoOfCharsToInsertIfSpace_764 >= 1))
  {
    {
      P_InsertText_755(NoOfCharsToInsertIfSpace_764,(INT*)((INT*)(((BYTE*)into_762)+((RNGCHKUB(*iOfNextCharInList_763,NoOfCharsToInsertIfSpace_764,into_762_Dim0),RNGCHKLB(*iOfNextCharInList_763))*sizeof(INT)))),Text_765_Dim0,(BYTE*)Text_765);
      *iOfNextCharInList_763 = (*iOfNextCharInList_763 + NoOfCharsToInsertIfSpace_764); 
    }
  }
  else
  if (true)
  {
    {
      // It turns out that we don't want to insert!
    }
  }
  else
  {
    SETERR(MSG_IF);
  }
}
static void P_InsertTextIntoCommaSeparatedList_776 (INT theList_768_Dim0,INT *theList_768,INT *iOfNextCharInList_769,INT Text_770_Dim0,BYTE *Text_770,BOOL *commaOK_771,BOOL *textOK_772)
{
  tSF_P_InsertTextIntoCommaSeparatedList_776 SF;
  tSF_P_InsertTextIntoCommaSeparatedList_776 *FP = &SF;
  {
    INT noOfCharsToInsertIfSpace_773;
    {
      *commaOK_771 = true; 
      noOfCharsToInsertIfSpace_773 = INTBOOL((*iOfNextCharInList_769 > 0));
      {
	BYTE *_V0_774;
	{
	  static BYTE TMP[1] = {44};
	  _V0_774 = TMP;
	}
	P_InsertTextIfSpace_767(theList_768_Dim0,(INT*)theList_768,iOfNextCharInList_769,noOfCharsToInsertIfSpace_773,1,(BYTE*)_V0_774,commaOK_771);
      }
      *textOK_772 = true; 
      {
	INT Size_775;
	Size_775 = (INT)F_SizeOfTextNoTrailingSpaces_751(FP->Chain,Text_770_Dim0,(BYTE*)Text_770);
	P_InsertTextIfSpace_767(theList_768_Dim0,(INT*)theList_768,iOfNextCharInList_769,Size_775,Size_775,(BYTE*)((BYTE*)(((BYTE*)Text_770)+((RNGCHKUB(0,Size_775,Text_770_Dim0),0)*sizeof(BYTE)))),textOK_772);
      }
    }
  }
}
static void P_MakeCommaSeparatedListOf_785 (INT Text_777_Dim0,INT Text_777_Dim1,BYTE *Text_777,INT theList_778_Dim0,INT *theList_778,INT *iOfNextCharInList_779,BOOL *ok_780)
{
  tSF_P_MakeCommaSeparatedListOf_785 SF;
  tSF_P_MakeCommaSeparatedListOf_785 *FP = &SF;
  {
    BOOL commaOK_781;
    BOOL textOK_782;
    {
      *iOfNextCharInList_779 = 0; 
      *ok_780 = true; 
      {
	INT i_783;
	INT i_783_End;
	i_783 = 0;i_783_End = i_783 + (Text_777_Dim0);
	for (; i_783 != i_783_End; i_783++)
	{
	  {
	    INT TheText_784_Dim1;
	    BYTE *TheText_784;
	    TheText_784 = (BYTE*)((BYTE*)(((BYTE*)Text_777)+(RNGCHK(i_783,Text_777_Dim0)*(Text_777_Dim1*sizeof(BYTE)))));
	    TheText_784_Dim1 = Text_777_Dim1; 
	    {
	      P_InsertTextIntoCommaSeparatedList_776(theList_778_Dim0,(INT*)theList_778,iOfNextCharInList_779,F_SizeOfTextNoTrailingSpaces_751(FP->Chain,TheText_784_Dim1,(BYTE*)TheText_784),(BYTE*)((BYTE*)(((BYTE*)TheText_784)+((RNGCHKUB(0,F_SizeOfTextNoTrailingSpaces_751(FP->Chain,TheText_784_Dim1,(BYTE*)TheText_784),TheText_784_Dim1),0)*sizeof(BYTE)))),&commaOK_781,&textOK_782);
	      if (((commaOK_781 == false) || (textOK_782 == false)))
	      {
		*ok_780 = false; 
	      }
	      else
	      if (true)
	      {
	      }
	      else
	      {
		SETERR(MSG_IF);
	      }
	    }
	  }
	}
      }
      if (( ! *ok_780))
      {
	*iOfNextCharInList_779 = 0; 
      }
      else
      if (true)
      {
      }
      else
      {
	SETERR(MSG_IF);
      }
    }
  }
}
static BOOL F_EqualText_791(tSF_P_M_GL100_m_gl100 *PP,INT In_786_Dim0,BYTE *In_786,INT Text_787_Dim0,BYTE *Text_787)
{
  BOOL _Result;
  tSF_F_EqualText_791 SF;
  tSF_F_EqualText_791 *FP = &SF;
  FP->Chain = PP;
  {
    BOOL equal_788;
    {
      // (1.24 14Aug98 For lint) SPOC -> warning 644 "may not have been initialized"
      equal_788 = false; 
      if (((In_786_Dim0) != (Text_787_Dim0)))
      {
	equal_788 = false; 
      }
      else
      {
	INT i_789;
	INT i_789_End;
	i_789 = 0;i_789_End = i_789 + (Text_787_Dim0);
	for (; i_789 != i_789_End; i_789++)
	{
	  if ((*((BYTE*)(((BYTE*)In_786)+(RNGCHK(i_789,In_786_Dim0)*sizeof(BYTE)))) != *((BYTE*)(((BYTE*)Text_787)+(RNGCHK(i_789,Text_787_Dim0)*sizeof(BYTE))))))
	  {
	    equal_788 = false; 
	  }
	  else
	  {
	    continue;
	  }
	  break;
	}
	if (i_789 == i_789_End) 
	if (true)
	{
	  equal_788 = true; 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = equal_788;
  }
  return _Result;
}
static BOOL F_AlmostEqualText_798(tSF_P_M_GL100_m_gl100 *PP,INT Text1_792_Dim0,BYTE *Text1_792,INT Text2_793_Dim0,BYTE *Text2_793)
{
  BOOL _Result;
  tSF_F_AlmostEqualText_798 SF;
  tSF_F_AlmostEqualText_798 *FP = &SF;
  FP->Chain = PP;
  {
    BOOL equal_794;
    {
      equal_794 = false; 
      if ((((Text1_792_Dim0) == 0) || ((Text2_793_Dim0) == 0)))
      {
      }
      else
      if (F_EqualText_791(FP->Chain,Text1_792_Dim0,(BYTE*)Text1_792,Text2_793_Dim0,(BYTE*)Text2_793))
      {
	equal_794 = true; 
      }
      else
      if (true)
      {
	{
	  INT NoOfLetters1_795;
	  INT NoOfLetters2_796;
	  NoOfLetters1_795 = (INT)F_SizeOfTextNoTrailingSpaces_751(FP->Chain,Text1_792_Dim0,(BYTE*)Text1_792);
	  NoOfLetters2_796 = (INT)F_SizeOfTextNoTrailingSpaces_751(FP->Chain,Text2_793_Dim0,(BYTE*)Text2_793);
	  if (((NoOfLetters1_795 == 0) || (NoOfLetters2_796 == 0)))
	  {
	  }
	  else
	  if ((NoOfLetters1_795 <= (Text2_793_Dim0)))
	  {
	    if (F_EqualText_791(FP->Chain,NoOfLetters1_795,(BYTE*)((BYTE*)(((BYTE*)Text1_792)+((RNGCHKUB(0,NoOfLetters1_795,Text1_792_Dim0),0)*sizeof(BYTE)))),NoOfLetters1_795,(BYTE*)((BYTE*)(((BYTE*)Text2_793)+((RNGCHKUB(0,NoOfLetters1_795,Text2_793_Dim0),0)*sizeof(BYTE))))))
	    {
	      equal_794 = true; 
	    }
	    else
	    if (true)
	    {
	    }
	    else
	    {
	      SETERR(MSG_IF);
	    }
	  }
	  else
	  if ((NoOfLetters2_796 < (Text1_792_Dim0)))
	  {
	    if (F_EqualText_791(FP->Chain,NoOfLetters2_796,(BYTE*)((BYTE*)(((BYTE*)Text1_792)+((RNGCHKUB(0,NoOfLetters2_796,Text1_792_Dim0),0)*sizeof(BYTE)))),NoOfLetters2_796,(BYTE*)((BYTE*)(((BYTE*)Text2_793)+((RNGCHKUB(0,NoOfLetters2_796,Text2_793_Dim0),0)*sizeof(BYTE))))))
	    {
	      equal_794 = true; 
	    }
	    else
	    if (true)
	    {
	    }
	    else
	    {
	      SETERR(MSG_IF);
	    }
	  }
	  else
	  if (true)
	  {
	  }
	  else
	  {
	    SETERR(MSG_IF);
	  }
	}
      }
      else
      {
	SETERR(MSG_IF);
      }
    }
    _Result = equal_794;
  }
  return _Result;
}
static INT F_FindTextBeforeToken_809(tSF_P_M_GL100_m_gl100 *PP,INT Text_799_Dim0,BYTE *Text_799,INT ListOfBeforeToken_800_Dim0,INT ListOfBeforeToken_800_Dim1,BYTE *ListOfBeforeToken_800,INT Token_801_Dim0,BYTE *Token_801,INT MinSizeOfListOfBeforeToken_802,INT MaxSizeOfListOfBeforeToken_803,INT MinSizeOfAfterToken_804)
{
  INT _Result;
  tSF_F_FindTextBeforeToken_809 SF;
  tSF_F_FindTextBeforeToken_809 *FP = &SF;
  FP->Chain = PP;
  {
    INT iOfBeforeToken_805;
    {
      INT iOfToken_806;
      {
	// (1.24 14Aug98 For lint) SPOC -> warning 644 "may not have been initialized"
	iOfBeforeToken_805 = -1; 
	iOfToken_806 = F_string_pos_745(FP->Chain,Token_801_Dim0,(BYTE*)Token_801,Text_799_Dim0,(BYTE*)Text_799);
	if ((iOfToken_806 > ((Text_799_Dim0) - (MinSizeOfAfterToken_804 + (Token_801_Dim0)))))
	{
	  iOfBeforeToken_805 = -1; 
	}
	else
	if (((iOfToken_806 < MinSizeOfListOfBeforeToken_802) || (iOfToken_806 > MaxSizeOfListOfBeforeToken_803)))
	{
	  iOfBeforeToken_805 = -1; 
	}
	else
	{
	  INT i_807;
	  INT i_807_End;
	  i_807 = 0;i_807_End = i_807 + (ListOfBeforeToken_800_Dim0);
	  for (; i_807 != i_807_End; i_807++)
	  {
	    if (F_AlmostEqualText_798(FP->Chain,iOfToken_806,(BYTE*)((BYTE*)(((BYTE*)Text_799)+((RNGCHKUB(0,iOfToken_806,Text_799_Dim0),0)*sizeof(BYTE)))),ListOfBeforeToken_800_Dim1,(BYTE*)((BYTE*)(((BYTE*)ListOfBeforeToken_800)+(RNGCHK(i_807,ListOfBeforeToken_800_Dim0)*(ListOfBeforeToken_800_Dim1*sizeof(BYTE)))))))
	    {
	      iOfBeforeToken_805 = i_807; 
	    }
	    else
	    {
	      continue;
	    }
	    break;
	  }
	  if (i_807 == i_807_End) 
	  if (true)
	  {
	    iOfBeforeToken_805 = -1; 
	  }
	  else
	  {
	    SETERR(MSG_IF);
	  }
	}
      }
    }
    _Result = iOfBeforeToken_805;
  }
  return _Result;
}
static INT F_FindTextFromArray_815(tSF_P_M_GL100_m_gl100 *PP,INT Name_810_Dim0,BYTE *Name_810,INT Names_811_Dim0,INT Names_811_Dim1,BYTE *Names_811)
{
  INT _Result;
  tSF_F_FindTextFromArray_815 SF;
  tSF_F_FindTextFromArray_815 *FP = &SF;
  FP->Chain = PP;
  {
    INT iOfText_812;
    {
      // (1.24 14Aug98 For lint) SPOC -> warning 644 "may not have been initialized"
      iOfText_812 = -1; 
      {
	INT i_813;
	INT i_813_End;
	i_813 = 0;i_813_End = i_813 + (Names_811_Dim0);
	for (; i_813 != i_813_End; i_813++)
	{
	  if (F_AlmostEqualText_798(FP->Chain,Names_811_Dim1,(BYTE*)((BYTE*)(((BYTE*)Names_811)+(RNGCHK(i_813,Names_811_Dim0)*(Names_811_Dim1*sizeof(BYTE))))),Name_810_Dim0,(BYTE*)Name_810))
	  {
	    iOfText_812 = i_813; 
	  }
	  else
	  {
	    continue;
	  }
	  break;
	}
	if (i_813 == i_813_End) 
	if (true)
	{
	  iOfText_812 = -1; 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = iOfText_812;
  }
  return _Result;
}
static BYTE F_ToHex_821(tSF_P_M_GL100_m_gl100 *PP,INT Value_816,INT Nibble_817)
{
  BYTE _Result;
  tSF_F_ToHex_821 SF;
  tSF_F_ToHex_821 *FP = &SF;
  FP->Chain = PP;
  {
    BYTE hex_818;
    {
      INT value_819;
      {
	value_819 = (LOGSHIFTRIGHT(INT,Value_816,(4 * Nibble_817)) & 15); 
	if ((value_819 < 10))
	{
	  hex_818 = BYTEINT((48 + value_819)); 
	}
	else
	if (true)
	{
	  hex_818 = BYTEINT((65 + (value_819 - 10))); 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = hex_818;
  }
  return _Result;
}
static void P_IntToHex8_825 (tSF_P_M_GL100_m_gl100 *PP,INT Value_822,BYTE *hex8_823)
{
  tSF_P_IntToHex8_825 SF;
  tSF_P_IntToHex8_825 *FP = &SF;
  FP->Chain = PP;
  {
    INT i_824;
    for (i_824 = 0; i_824 != 0 + 8; i_824++)
    {
      *((BYTE*)(((BYTE*)hex8_823)+(i_824*sizeof(BYTE)))) = F_ToHex_821(FP->Chain,Value_822,(7 - i_824));
    }
  }
}
static void P_ShiftLeftText_if_830 (INT text_826_Dim0,BYTE *text_826,INT *size_827,BOOL *shifted_828)
{
  tSF_P_ShiftLeftText_if_830 SF;
  tSF_P_ShiftLeftText_if_830 *FP = &SF;
  if ((*((BYTE*)(((BYTE*)text_826)+(0*sizeof(BYTE)))) == 48))
  {
    {
      {
	INT i_829;
	INT i_829_End;
	i_829 = 0;i_829_End = i_829 + (*size_827 - 1);
	for (; i_829 != i_829_End; i_829++)
	{
	  *((BYTE*)(((BYTE*)text_826)+(RNGCHK(i_829,text_826_Dim0)*sizeof(BYTE)))) = *((BYTE*)(((BYTE*)text_826)+(RNGCHK((i_829 + 1),text_826_Dim0)*sizeof(BYTE)))); 
	}
      }
      *size_827 = (*size_827 - 1); 
      *shifted_828 = true; 
    }
  }
  else
  if (true)
  {
    *shifted_828 = false; 
  }
  else
  {
    SETERR(MSG_IF);
  }
}
static void P_RemoveHexLeadingZeroes_835 (INT hex8_831_Dim0,BYTE *hex8_831,INT *size_832)
{
  tSF_P_RemoveHexLeadingZeroes_835 SF;
  tSF_P_RemoveHexLeadingZeroes_835 *FP = &SF;
  {
    BOOL shifted_833;
    INT maxLeft_834;
    {
      shifted_833 = true; 
      maxLeft_834 = (*size_832 - 1); 
      while (((shifted_833 == true) && (maxLeft_834 > 0)))
      {
	{
	  P_ShiftLeftText_if_830(hex8_831_Dim0,(BYTE*)hex8_831,size_832,&shifted_833);
	  maxLeft_834 = (maxLeft_834 - 1); 
	}
      }
    }
  }
}
static void P_Delay_ms_1435 (tSF_P_Delay_ms_1435 *FP)
{
  while(true)
  {
    switch(FP->_Header.IP)
    {
      CASE(0):  
	FP->time_1433 = ReadTimer();
	DELAY((FP->time_1433 + FP->DelayFor_ms_1432),1);
      CASE(1):  
	RETURN();
      default: SETERR(MSG_IP);
    }
  }
}
static void P_Add64To64_1447 (tSF_P_M_GL100_m_gl100 *PP,INT *Add_1441,INT *runningSum_1442,BOOL *ok_1443)
{
  tSF_P_Add64To64_1447 SF;
  tSF_P_Add64To64_1447 *FP = &SF;
  FP->Chain = PP;
  {
    INT add_1444[4];
    INT sum_1445[4];
    {
      *((INT*)(((BYTE*)add_1444)+(3*sizeof(INT)))) = LOGSHIFTRIGHT(INT,*((INT*)(((BYTE*)Add_1441)+(0*sizeof(INT)))),16); 
      *((INT*)(((BYTE*)add_1444)+(2*sizeof(INT)))) = (*((INT*)(((BYTE*)Add_1441)+(0*sizeof(INT)))) & 65535); 
      *((INT*)(((BYTE*)add_1444)+(1*sizeof(INT)))) = LOGSHIFTRIGHT(INT,*((INT*)(((BYTE*)Add_1441)+(1*sizeof(INT)))),16); 
      *((INT*)(((BYTE*)add_1444)+(0*sizeof(INT)))) = (*((INT*)(((BYTE*)Add_1441)+(1*sizeof(INT)))) & 65535); 
      *((INT*)(((BYTE*)sum_1445)+(3*sizeof(INT)))) = LOGSHIFTRIGHT(INT,*((INT*)(((BYTE*)runningSum_1442)+(0*sizeof(INT)))),16); 
      *((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT)))) = (*((INT*)(((BYTE*)runningSum_1442)+(0*sizeof(INT)))) & 65535); 
      *((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))) = LOGSHIFTRIGHT(INT,*((INT*)(((BYTE*)runningSum_1442)+(1*sizeof(INT)))),16); 
      *((INT*)(((BYTE*)sum_1445)+(0*sizeof(INT)))) = (*((INT*)(((BYTE*)runningSum_1442)+(1*sizeof(INT)))) & 65535); 
      *((INT*)(((BYTE*)sum_1445)+(0*sizeof(INT)))) = (*((INT*)(((BYTE*)add_1444)+(0*sizeof(INT)))) + *((INT*)(((BYTE*)sum_1445)+(0*sizeof(INT))))); 
      *((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))) = (*((INT*)(((BYTE*)add_1444)+(1*sizeof(INT)))) + *((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT))))); 
      *((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT)))) = (*((INT*)(((BYTE*)add_1444)+(2*sizeof(INT)))) + *((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT))))); 
      *((INT*)(((BYTE*)sum_1445)+(3*sizeof(INT)))) = (*((INT*)(((BYTE*)add_1444)+(3*sizeof(INT)))) + *((INT*)(((BYTE*)sum_1445)+(3*sizeof(INT))))); 
      *((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))) = (*((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))) + LOGSHIFTRIGHT(INT,*((INT*)(((BYTE*)sum_1445)+(0*sizeof(INT)))),16)); 
      *((INT*)(((BYTE*)sum_1445)+(0*sizeof(INT)))) = (*((INT*)(((BYTE*)sum_1445)+(0*sizeof(INT)))) & 65535); 
      *((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT)))) = (*((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT)))) + LOGSHIFTRIGHT(INT,*((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))),16)); 
      *((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))) = (*((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))) & 65535); 
      *((INT*)(((BYTE*)sum_1445)+(3*sizeof(INT)))) = (*((INT*)(((BYTE*)sum_1445)+(3*sizeof(INT)))) + LOGSHIFTRIGHT(INT,*((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT)))),16)); 
      *((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT)))) = (*((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT)))) & 65535); 
      if ((*((INT*)(((BYTE*)sum_1445)+(3*sizeof(INT)))) > 65535))
      {
	*ok_1443 = false; 
      }
      else
      if (true)
      {
	*ok_1443 = true; 
      }
      else
      {
	SETERR(MSG_IF);
      }
      *((INT*)(((BYTE*)runningSum_1442)+(0*sizeof(INT)))) = (LOGSHIFTLEFT(INT,*((INT*)(((BYTE*)sum_1445)+(3*sizeof(INT)))),16) | *((INT*)(((BYTE*)sum_1445)+(2*sizeof(INT))))); 
      *((INT*)(((BYTE*)runningSum_1442)+(1*sizeof(INT)))) = (LOGSHIFTLEFT(INT,*((INT*)(((BYTE*)sum_1445)+(1*sizeof(INT)))),16) | *((INT*)(((BYTE*)sum_1445)+(0*sizeof(INT))))); 
    }
  }
}
static INT F_Int32NeedOfBytes_1452(tSF_P_M_GL100_m_gl100 *PP,INT NoOfBytes_1448)
{
  INT _Result;
  tSF_F_Int32NeedOfBytes_1452 SF;
  tSF_F_Int32NeedOfBytes_1452 *FP = &SF;
  FP->Chain = PP;
  {
    INT noOfInt32_1449;
    {
      {
	INT NoOfExtraBytes_1450;
	NoOfExtraBytes_1450 = (INT)(NoOfBytes_1448 & 3);
	if ((NoOfExtraBytes_1450 == 0))
	{
	  noOfInt32_1449 = LOGSHIFTRIGHT(INT,NoOfBytes_1448,2); 
	}
	else
	if (true)
	{
	  noOfInt32_1449 = (LOGSHIFTRIGHT(INT,NoOfBytes_1448,2) + 1); 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = noOfInt32_1449;
  }
  return _Result;
}
static BOOL F_IsNotModulo4_1454(INT Value_1453)
{
  BOOL _Result;
  tSF_F_IsNotModulo4_1454 SF;
  tSF_F_IsNotModulo4_1454 *FP = &SF;
  _Result = ((Value_1453 & 3) != 0);
  return _Result;
}
static INT F_MinOf_1459(tSF_P_M_GL100_m_gl100 *PP,INT A_1455,INT B_1456)
{
  INT _Result;
  tSF_F_MinOf_1459 SF;
  tSF_F_MinOf_1459 *FP = &SF;
  FP->Chain = PP;
  {
    INT min_1457;
    if ((A_1455 < B_1456))
    {
      min_1457 = A_1455; 
    }
    else
    if (true)
    {
      min_1457 = B_1456; 
    }
    else
    {
      SETERR(MSG_IF);
    }
    _Result = min_1457;
  }
  return _Result;
}
static INT F_MaxOf_1464(tSF_P_M_GL100_m_gl100 *PP,INT A_1460,INT B_1461)
{
  INT _Result;
  tSF_F_MaxOf_1464 SF;
  tSF_F_MaxOf_1464 *FP = &SF;
  FP->Chain = PP;
  {
    INT max_1462;
    if ((A_1460 > B_1461))
    {
      max_1462 = A_1460; 
    }
    else
    if (true)
    {
      max_1462 = B_1461; 
    }
    else
    {
      SETERR(MSG_IF);
    }
    _Result = max_1462;
  }
  return _Result;
}
static INT F_RotateRight_1468(tSF_P_M_GL100_m_gl100 *PP,INT In_1465)
{
  INT _Result;
  tSF_F_RotateRight_1468 SF;
  tSF_F_RotateRight_1468 *FP = &SF;
  FP->Chain = PP;
  {
    INT rotate_1466;
    if (((In_1465 & 1) == 1))
    {
      rotate_1466 = (LOGSHIFTRIGHT(INT,In_1465,1) | MOSTNEGINT32); 
    }
    else
    if (true)
    {
      rotate_1466 = LOGSHIFTRIGHT(INT,In_1465,1); 
    }
    else
    {
      SETERR(MSG_IF);
    }
    _Result = rotate_1466;
  }
  return _Result;
}
static BOOL F_InRange_1472(INT Lower_1469,INT Value_1470,INT Upper_1471)
{
  BOOL _Result;
  tSF_F_InRange_1472 SF;
  tSF_F_InRange_1472 *FP = &SF;
  _Result = ((Value_1470 >= Lower_1469) && (Value_1470 <= Upper_1471));
  return _Result;
}
static BOOL F_InRangeREAL32_1476(REAL32 Lower_1473,REAL32 Value_1474,REAL32 Upper_1475)
{
  BOOL _Result;
  tSF_F_InRangeREAL32_1476 SF;
  tSF_F_InRangeREAL32_1476 *FP = &SF;
  _Result = ((Value_1474 >= Lower_1473) && (Value_1474 <= Upper_1475));
  return _Result;
}
static BOOL F_IsEqualTo_1482(tSF_P_M_GL100_m_gl100 *PP,INT A_1477_Dim0,INT *A_1477,INT B_1478_Dim0,INT *B_1478)
{
  BOOL _Result;
  tSF_F_IsEqualTo_1482 SF;
  tSF_F_IsEqualTo_1482 *FP = &SF;
  FP->Chain = PP;
  {
    BOOL isEqualTo_1479;
    {
      //lint -esym(644,isEqualTo_1479)
      if (((A_1477_Dim0) != (B_1478_Dim0)))
      {
	isEqualTo_1479 = false; 
      }
      else
      {
	INT i_1480;
	INT i_1480_End;
	i_1480 = 0;i_1480_End = i_1480 + (A_1477_Dim0);
	for (; i_1480 != i_1480_End; i_1480++)
	{
	  if ((*((INT*)(((BYTE*)A_1477)+(RNGCHK(i_1480,A_1477_Dim0)*sizeof(INT)))) != *((INT*)(((BYTE*)B_1478)+(RNGCHK(i_1480,B_1478_Dim0)*sizeof(INT))))))
	  {
	    isEqualTo_1479 = false; 
	  }
	  else
	  {
	    continue;
	  }
	  break;
	}
	if (i_1480 == i_1480_End) 
	if (true)
	{
	  isEqualTo_1479 = true; 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = isEqualTo_1479;
  }
  return _Result;
}
static BOOL F_IsEqualTo_3_1487(tSF_P_M_GL100_m_gl100 *PP,INT *A_1483,INT *B_1484)
{
  BOOL _Result;
  tSF_F_IsEqualTo_3_1487 SF;
  tSF_F_IsEqualTo_3_1487 *FP = &SF;
  FP->Chain = PP;
  {
    BOOL isEqualTo_1485;
    if ((*((INT*)(((BYTE*)A_1483)+(0*sizeof(INT)))) != *((INT*)(((BYTE*)B_1484)+(0*sizeof(INT))))))
    {
      isEqualTo_1485 = false; 
    }
    else
    if ((*((INT*)(((BYTE*)A_1483)+(1*sizeof(INT)))) != *((INT*)(((BYTE*)B_1484)+(1*sizeof(INT))))))
    {
      isEqualTo_1485 = false; 
    }
    else
    if ((*((INT*)(((BYTE*)A_1483)+(2*sizeof(INT)))) != *((INT*)(((BYTE*)B_1484)+(2*sizeof(INT))))))
    {
      isEqualTo_1485 = false; 
    }
    else
    if (true)
    {
      isEqualTo_1485 = true; 
    }
    else
    {
      SETERR(MSG_IF);
    }
    _Result = isEqualTo_1485;
  }
  return _Result;
}
static BOOL F_IsNotIn_1493(tSF_P_M_GL100_m_gl100 *PP,INT Array_1488_Dim0,INT *Array_1488,INT Value_1489)
{
  BOOL _Result;
  tSF_F_IsNotIn_1493 SF;
  tSF_F_IsNotIn_1493 *FP = &SF;
  FP->Chain = PP;
  {
    BOOL isIn_1490;
    {
      //lint -esym(644,isIn_1490)
      {
	INT index_1491;
	INT index_1491_End;
	index_1491 = 0;index_1491_End = index_1491 + (Array_1488_Dim0);
	for (; index_1491 != index_1491_End; index_1491++)
	{
	  if ((*((INT*)(((BYTE*)Array_1488)+(RNGCHK(index_1491,Array_1488_Dim0)*sizeof(INT)))) == Value_1489))
	  {
	    isIn_1490 = true; 
	  }
	  else
	  {
	    continue;
	  }
	  break;
	}
	if (index_1491 == index_1491_End) 
	if (true)
	{
	  isIn_1490 = false; 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = ( ! isIn_1490);
  }
  return _Result;
}
static INT F_IOfEqualTo_1499(tSF_P_M_GL100_m_gl100 *PP,INT A_1494_Dim0,INT A_1494_Dim1,INT *A_1494,INT B_1495_Dim0,INT *B_1495)
{
  INT _Result;
  tSF_F_IOfEqualTo_1499 SF;
  tSF_F_IOfEqualTo_1499 *FP = &SF;
  FP->Chain = PP;
  {
    INT iOfEqualTo_1496;
    {
      //lint -esym(644,iOfEqualTo_1496)
      {
	INT i_1497;
	INT i_1497_End;
	i_1497 = 0;i_1497_End = i_1497 + (A_1494_Dim0);
	for (; i_1497 != i_1497_End; i_1497++)
	{
	  if (F_IsEqualTo_1482(FP->Chain,A_1494_Dim1,(INT*)((INT*)(((BYTE*)A_1494)+(RNGCHK(i_1497,A_1494_Dim0)*(A_1494_Dim1*sizeof(INT))))),B_1495_Dim0,(INT*)B_1495))
	  {
	    iOfEqualTo_1496 = i_1497; 
	  }
	  else
	  {
	    continue;
	  }
	  break;
	}
	if (i_1497 == i_1497_End) 
	if (true)
	{
	  iOfEqualTo_1496 = -1; 
	}
	else
	{
	  SETERR(MSG_IF);
	}
      }
    }
    _Result = iOfEqualTo_1496;
  }
  return _Result;
}
static BOOL F_IsArrDim3_in_XY_ListZ_1508(tSF_P_M_GL100_m_gl100 *PP,INT *ArrDim3_1500,INT X_1501,INT Y_1502,INT ListZ_1503_Dim0,INT *ListZ_1503)
{
  BOOL _Result;
  tSF_F_IsArrDim3_in_XY_ListZ_1508 SF;
  tSF_F_IsArrDim3_in_XY_ListZ_1508 *FP = &SF;
  FP->Chain = PP;
  {
    BOOL isIn_1504;
    {
      //lint -esym(644,isIn_1504)
      if ((*((INT*)(((BYTE*)ArrDim3_1500)+(0*sizeof(INT)))) != X_1501))
      {
	isIn_1504 = false; 
      }
      else
      if ((*((INT*)(((BYTE*)ArrDim3_1500)+(1*sizeof(INT)))) != Y_1502))
      {
	isIn_1504 = false; 
      }
      else
      {
	INT Z_1505;
	Z_1505 = (INT)*((INT*)(((BYTE*)ArrDim3_1500)+(2*sizeof(INT))));
	{
	  INT i_1506;
	  INT i_1506_End;
	  i_1506 = 0;i_1506_End = i_1506 + (ListZ_1503_Dim0);
	  for (; i_1506 != i_1506_End; i_1506++)
	  {
	    if ((Z_1505 == *((INT*)(((BYTE*)ListZ_1503)+(RNGCHK(i_1506,ListZ_1503_Dim0)*sizeof(INT))))))
	    {
	      isIn_1504 = true; 
	    }
	    else
	    {
	      continue;
	    }
	    break;
	  }
	  if (i_1506 == i_1506_End) 
	  if (true)
	  {
	    isIn_1504 = false; 
	  }
	  else
	  {
	    SETERR(MSG_IF);
	  }
	}
      }
    }
    _Result = isIn_1504;
  }
  return _Result;
}
static void P_BlackHole_1511 (tSF_P_BlackHole_1511 *FP)
{
  while(true)
  {
    switch(FP->_Header.IP)
    {
      CASE(0):  
	GOTO(1);
      CASE(2):  
	INPUT4(FP->deschedule_1509,&FP->any_1510,3);
      CASE(3):  
      CASE(1):  
	if (true)
	{
	  GOTO(2);
	}
	RETURN();
      default: SETERR(MSG_IP);
    }
  }
}
static void P_BlackHoleTriggerForever_1515 (tSF_P_BlackHoleTriggerForever_1515 *FP)
{
  while(true)
  {
    switch(FP->_Header.IP)
    {
      CASE(0):  
	FP->time_1513 = ReadTimer();
	GOTO(1);
      CASE(2):  
	DELAY(FP->time_1513,3);
      CASE(3):  
	FP->time_1513 = (FP->time_1513 + 1000);
	FP->_Header.Temp.VINT = 1;
	OUTPUT4(FP->deschedule_1512,&FP->_Header.Temp.VINT,4);
      CASE(4):  
      CASE(1):  
	if (true)
	{
	  GOTO(2);
	}
	RETURN();
      default: SETERR(MSG_IP);
    }
  }
}
static void P_1520 (tSF_P_1520 *FP)
{
  while(true)
  {
    switch(FP->_Header.IP)
    {
      CASE(0):  
	FP->_C5.deschedule_1509=FP->Chain->deschedule_1519;
	FP->_C5.Chain = FP->Chain->Chain;
	CALL(P_BlackHole_1511,&FP->_C5,1,"P_BlackHole_1511");
      CASE(1):  
	ENDP();
      default: SETERR(MSG_IP);
    }
  }
}
static void P_1521 (tSF_P_1521 *FP)
{
  while(true)
  {
    switch(FP->_Header.IP)
    {
      CASE(0):  
	FP->_C7.deschedule_1512=FP->Chain->deschedule_1519;
	FP->_C7.Chain = FP->Chain->Chain;
	CALL(P_BlackHoleTriggerForever_1515,&FP->_C7,1,"P_BlackHoleTriggerForever_1515");
      CASE(1):  
	ENDP();
      default: SETERR(MSG_IP);
    }
  }
}
static void P_ErrorNoReturn_1522 (tSF_P_ErrorNoReturn_1522 *FP)
{
  while(true)
  {
    switch(FP->_Header.IP)
    {
      CASE(0):  
	FP->deschedule_1519 = &FP->deschedule_1519_CHAN;
	INITCH(FP->deschedule_1519);
	OUTPUT(FP->chan900o_1516,FP->NodetypeClassReason_1517,(3*sizeof(INT)),1);
      CASE(1):  
	STARTP(&FP->_T0,P_1520,&FP->_C6,"P_1520",1);
	STARTP(&FP->_T1,P_1521,&FP->_C8,"P_1521",1);
	WAITP(2);
      CASE(2):  
	RETURN();
      default: SETERR(MSG_IP);
    }
  }
}