VIDEO.CDB
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:1016k
源码类别:

DSP编程

开发平台:

C/C++

  1.     param iDelMsg :: "ok"
  2.     param iHwi :: HWI_INT5
  3.     param iIntrSelectNum :: 5
  4. }
  5. object External_Pin_6 :: ISRC {
  6.     param iComment :: "<add comments here>"
  7.     param iIsUsed :: 0
  8.     param iId :: 0
  9.     param iDelUser :: "USER"
  10.     param iDelMsg :: "ok"
  11.     param iHwi :: HWI_INT6
  12.     param iIntrSelectNum :: 6
  13. }
  14. object External_Pin_7 :: ISRC {
  15.     param iComment :: "<add comments here>"
  16.     param iIsUsed :: 0
  17.     param iId :: 0
  18.     param iDelUser :: "USER"
  19.     param iDelMsg :: "ok"
  20.     param iHwi :: HWI_INT7
  21.     param iIntrSelectNum :: 7
  22. }
  23. object EDMA_Controller :: ISRC {
  24.     param iComment :: "<add comments here>"
  25.     param iIsUsed :: 0
  26.     param iId :: 0
  27.     param iDelUser :: "USER"
  28.     param iDelMsg :: "ok"
  29.     param iHwi :: HWI_INT8
  30.     param iIntrSelectNum :: 8
  31. }
  32. object HSRTDX11 :: ISRC {
  33.     param iComment :: "<add comments here>"
  34.     param iIsUsed :: 0
  35.     param iId :: 0
  36.     param iDelUser :: "USER"
  37.     param iDelMsg :: "ok"
  38.     param iHwi :: HWI_INT11
  39.     param iIntrSelectNum :: 10
  40. }
  41. object HSRTDX12 :: ISRC {
  42.     param iComment :: "<add comments here>"
  43.     param iIsUsed :: 0
  44.     param iId :: 0
  45.     param iDelUser :: "USER"
  46.     param iDelMsg :: "ok"
  47.     param iHwi :: HWI_INT12
  48.     param iIntrSelectNum :: 11
  49. }
  50. object MCSP_0_Transmit :: ISRC {
  51.     param iComment :: "<add comments here>"
  52.     param iIsUsed :: 0
  53.     param iId :: 0
  54.     param iDelUser :: "USER"
  55.     param iDelMsg :: "ok"
  56.     param iHwi :: HWI_UNUSED
  57.     param iIntrSelectNum :: 12
  58. }
  59. object MCSP_0_Receive :: ISRC {
  60.     param iComment :: "<add comments here>"
  61.     param iIsUsed :: 0
  62.     param iId :: 0
  63.     param iDelUser :: "USER"
  64.     param iDelMsg :: "ok"
  65.     param iHwi :: HWI_UNUSED
  66.     param iIntrSelectNum :: 13
  67. }
  68. object MCSP_1_Transmit :: ISRC {
  69.     param iComment :: "<add comments here>"
  70.     param iIsUsed :: 0
  71.     param iId :: 0
  72.     param iDelUser :: "USER"
  73.     param iDelMsg :: "ok"
  74.     param iHwi :: HWI_UNUSED
  75.     param iIntrSelectNum :: 14
  76. }
  77. object MCSP_1_Receive :: ISRC {
  78.     param iComment :: "<add comments here>"
  79.     param iIsUsed :: 0
  80.     param iId :: 0
  81.     param iDelUser :: "USER"
  82.     param iDelMsg :: "ok"
  83.     param iHwi :: HWI_UNUSED
  84.     param iIntrSelectNum :: 15
  85. }
  86. object HPI_PCI_to_DSP :: ISRC {
  87.     param iComment :: "<add comments here>"
  88.     param iIsUsed :: 0
  89.     param iId :: 0
  90.     param iDelUser :: "USER"
  91.     param iDelMsg :: "ok"
  92.     param iHwi :: HWI_UNUSED
  93.     param iIntrSelectNum :: 0
  94. }
  95. object EMIFA_SDRAM_Timer :: ISRC {
  96.     param iComment :: "<add comments here>"
  97.     param iIsUsed :: 0
  98.     param iId :: 0
  99.     param iDelUser :: "USER"
  100.     param iDelMsg :: "ok"
  101.     param iHwi :: HWI_UNUSED
  102.     param iIntrSelectNum :: 3
  103. }
  104. object GPIO_Interrupt_4 :: ISRC {
  105.     param iComment :: "<add comments here>"
  106.     param iIsUsed :: 0
  107.     param iId :: 0
  108.     param iDelUser :: "USER"
  109.     param iDelMsg :: "ok"
  110.     param iHwi :: HWI_INT4
  111.     param iIntrSelectNum :: 4
  112. }
  113. object GPIO_Interrupt_5 :: ISRC {
  114.     param iComment :: "<add comments here>"
  115.     param iIsUsed :: 0
  116.     param iId :: 0
  117.     param iDelUser :: "USER"
  118.     param iDelMsg :: "ok"
  119.     param iHwi :: HWI_INT5
  120.     param iIntrSelectNum :: 5
  121. }
  122. object GPIO_Interrupt_6 :: ISRC {
  123.     param iComment :: "<add comments here>"
  124.     param iIsUsed :: 0
  125.     param iId :: 0
  126.     param iDelUser :: "USER"
  127.     param iDelMsg :: "ok"
  128.     param iHwi :: HWI_INT6
  129.     param iIntrSelectNum :: 6
  130. }
  131. object GPIO_Interrupt_7 :: ISRC {
  132.     param iComment :: "<add comments here>"
  133.     param iIsUsed :: 0
  134.     param iId :: 0
  135.     param iDelUser :: "USER"
  136.     param iDelMsg :: "ok"
  137.     param iHwi :: HWI_INT7
  138.     param iIntrSelectNum :: 7
  139. }
  140. object EDMA_Interrupt :: ISRC {
  141.     param iComment :: "<add comments here>"
  142.     param iIsUsed :: 0
  143.     param iId :: 0
  144.     param iDelUser :: "USER"
  145.     param iDelMsg :: "ok"
  146.     param iHwi :: HWI_INT8
  147.     param iIntrSelectNum :: 8
  148. }
  149. object JTAGRTDX9 :: ISRC {
  150.     param iComment :: "<add comments here>"
  151.     param iIsUsed :: 0
  152.     param iId :: 0
  153.     param iDelUser :: "USER"
  154.     param iDelMsg :: "ok"
  155.     param iHwi :: HWI_UNUSED
  156.     param iIntrSelectNum :: 9
  157. }
  158. object EMU_DTDMA :: ISRC {
  159.     param iComment :: "<add comments here>"
  160.     param iIsUsed :: 0
  161.     param iId :: 0
  162.     param iDelUser :: "USER"
  163.     param iDelMsg :: "ok"
  164.     param iHwi :: HWI_INT9
  165.     param iIntrSelectNum :: 9
  166. }
  167. object EMU_RTDX_RX :: ISRC {
  168.     param iComment :: "<add comments here>"
  169.     param iIsUsed :: 0
  170.     param iId :: 0
  171.     param iDelUser :: "USER"
  172.     param iDelMsg :: "ok"
  173.     param iHwi :: HWI_INT10
  174.     param iIntrSelectNum :: 10
  175. }
  176. object EMU_RTDX_TX :: ISRC {
  177.     param iComment :: "<add comments here>"
  178.     param iIsUsed :: 0
  179.     param iId :: 0
  180.     param iDelUser :: "USER"
  181.     param iDelMsg :: "ok"
  182.     param iHwi :: HWI_INT11
  183.     param iIntrSelectNum :: 11
  184. }
  185. object GPIO_Interrupt_0 :: ISRC {
  186.     param iComment :: "<add comments here>"
  187.     param iIsUsed :: 0
  188.     param iId :: 0
  189.     param iDelUser :: "USER"
  190.     param iDelMsg :: "ok"
  191.     param iHwi :: HWI_UNUSED
  192.     param iIntrSelectNum :: 16
  193. }
  194. object MCSP_2_Transmit :: ISRC {
  195.     param iComment :: "<add comments here>"
  196.     param iIsUsed :: 0
  197.     param iId :: 0
  198.     param iDelUser :: "USER"
  199.     param iDelMsg :: "ok"
  200.     param iHwi :: HWI_UNUSED
  201.     param iIntrSelectNum :: 17
  202. }
  203. object MCSP_2_Receive :: ISRC {
  204.     param iComment :: "<add comments here>"
  205.     param iIsUsed :: 0
  206.     param iId :: 0
  207.     param iDelUser :: "USER"
  208.     param iDelMsg :: "ok"
  209.     param iHwi :: HWI_UNUSED
  210.     param iIntrSelectNum :: 18
  211. }
  212. object Timer_2 :: ISRC {
  213.     param iComment :: "<add comments here>"
  214.     param iIsUsed :: 0
  215.     param iId :: 0
  216.     param iDelUser :: "USER"
  217.     param iDelMsg :: "ok"
  218.     param iHwi :: HWI_UNUSED
  219.     param iIntrSelectNum :: 19
  220. }
  221. object EMIFB_SDRAM_Timer :: ISRC {
  222.     param iComment :: "<add comments here>"
  223.     param iIsUsed :: 0
  224.     param iId :: 0
  225.     param iDelUser :: "USER"
  226.     param iDelMsg :: "ok"
  227.     param iHwi :: HWI_UNUSED
  228.     param iIntrSelectNum :: 20
  229. }
  230. object PCI_WAKEUP :: ISRC {
  231.     param iComment :: "<add comments here>"
  232.     param iIsUsed :: 0
  233.     param iId :: 0
  234.     param iDelUser :: "USER"
  235.     param iDelMsg :: "ok"
  236.     param iHwi :: HWI_UNUSED
  237.     param iIntrSelectNum :: 21
  238. }
  239. object ICINT0 :: ISRC {
  240.     param iComment :: "<add comments here>"
  241.     param iIsUsed :: 0
  242.     param iId :: 0
  243.     param iDelUser :: "USER"
  244.     param iDelMsg :: "ok"
  245.     param iHwi :: HWI_UNUSED
  246.     param iIntrSelectNum :: 22
  247. }
  248. object UTOPIA_Interrupt :: ISRC {
  249.     param iComment :: "<add comments here>"
  250.     param iIsUsed :: 0
  251.     param iId :: 0
  252.     param iDelUser :: "USER"
  253.     param iDelMsg :: "ok"
  254.     param iHwi :: HWI_UNUSED
  255.     param iIntrSelectNum :: 23
  256. }
  257. object EMAC_MDIO_INT :: ISRC {
  258.     param iComment :: "<add comments here>"
  259.     param iIsUsed :: 0
  260.     param iId :: 0
  261.     param iDelUser :: "USER"
  262.     param iDelMsg :: "ok"
  263.     param iHwi :: HWI_UNUSED
  264.     param iIntrSelectNum :: 24
  265. }
  266. object VPINT0 :: ISRC {
  267.     param iComment :: "<add comments here>"
  268.     param iIsUsed :: 0
  269.     param iId :: 0
  270.     param iDelUser :: "USER"
  271.     param iDelMsg :: "ok"
  272.     param iHwi :: HWI_UNUSED
  273.     param iIntrSelectNum :: 25
  274. }
  275. object VPINT1 :: ISRC {
  276.     param iComment :: "<add comments here>"
  277.     param iIsUsed :: 0
  278.     param iId :: 0
  279.     param iDelUser :: "USER"
  280.     param iDelMsg :: "ok"
  281.     param iHwi :: HWI_UNUSED
  282.     param iIntrSelectNum :: 26
  283. }
  284. object VPINT2 :: ISRC {
  285.     param iComment :: "<add comments here>"
  286.     param iIsUsed :: 0
  287.     param iId :: 0
  288.     param iDelUser :: "USER"
  289.     param iDelMsg :: "ok"
  290.     param iHwi :: HWI_UNUSED
  291.     param iIntrSelectNum :: 27
  292. }
  293. object AXINT0 :: ISRC {
  294.     param iComment :: "<add comments here>"
  295.     param iIsUsed :: 0
  296.     param iId :: 0
  297.     param iDelUser :: "USER"
  298.     param iDelMsg :: "ok"
  299.     param iHwi :: HWI_UNUSED
  300.     param iIntrSelectNum :: 28
  301. }
  302. object ARINT0 :: ISRC {
  303.     param iComment :: "<add comments here>"
  304.     param iIsUsed :: 0
  305.     param iId :: 0
  306.     param iDelUser :: "USER"
  307.     param iDelMsg :: "ok"
  308.     param iHwi :: HWI_UNUSED
  309.     param iIntrSelectNum :: 29
  310. }
  311. type LOG {
  312.     isa ObjectMgr
  313.     prop name :: "LOG"
  314.     prop Label :: "LOG - Event Log Manager"
  315.     prop IsContainedIn :: INS
  316.     prop GlobalIcon :: 113
  317.     prop InstanceIcon :: 114
  318.     prop InstanceHelpTopic :: (207)
  319.     prop GlobalHelpTopic :: (107)
  320.     prop InstancePropertyPage :: ("{B7240DE8-AA51-11cf-9BFE-0000C0AC14C7}")
  321.     prop GlobalPropertyPage :: ("{B7240DE9-AA51-11cf-9BFE-0000C0AC14C7}")
  322.     prop maxObjs :: (32767)
  323.     prop AllocType :: ("2, _globalAllocDesc, _memSeg, _placement, _printfAllocDesc, _memSeg, _placement")
  324.     prop _globalAllocDesc :: ("%8t .%1L: {%12tn  %1U_A_TABBEG = .;n _%1U_A_TABBEG = .;n %2Sn %1U_A_TABEND = .;n _%1U_A_TABEND = .;n  %1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;n _%1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;%8tn }, name, _linkString, _objSize")
  325.     prop _printfAllocDesc :: ("%8t .printf (COPY): {}")
  326.     prop _placement :: (0x7fffffff / 2)
  327.     prop AllocInst :: ("1, _instAllocDesc, _objMemSeg, _placement")
  328.     prop _fillValue :: if GBL.DSPWORDSIZE == 16 {0xffff} else {0xffffffff}
  329.     prop _instAllocDesc :: ("%8t /* %0s buffer */n .%0s$buf: align = 0x%1x fill = 0x%2x {}, _objAlign, _fillValue")
  330.     prop _objSize :: if GBL.DSPTYPE == 55 {(2 * (6 * 4))} else {(6 * 4)}
  331.     prop _memSeg :: LOG.OBJMEMSEG
  332.     prop _linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
  333.     prop _objAlign :: if GBL.DSPTYPE == 55 {self.buflen * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) * 2} else {self.buflen * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)}
  334.     prop _objMemSeg :: self.bufseg
  335.     prop LogType :: self.iType
  336.     prop LogFormat :: self.iFormat
  337.     prop cGen :: 1
  338.     prop cHeaderName :: if self.gNumOf > 0 {"log.h"} else {""}
  339.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far LOG_Obj %0r;n"} else {"extern LOG_Obj %0r;n"})
  340.     prop dataSize :: ($d = 0, scan ($i; LOG) {if ($i.IsConfObj()) {$d += $i.buflen} , $d += (6 * 4)}, $d)
  341.     global gUser :: "USER" { 
  342.         prop Visible :: 0
  343.         prop Writable :: 0
  344.         prop NoGen :: 1
  345.     }
  346.     global gSetOf :: 0 { 
  347.         prop Visible :: 0
  348.         prop Writable :: 0
  349.         prop NoGen :: 1
  350.     }
  351.     global gNumOf :: 2 { 
  352.         prop Visible :: 0
  353.         prop Writable :: 0
  354.         prop NoGen :: 1
  355.     }
  356.     global gDirty :: 1 { 
  357.         prop Visible :: 0
  358.         prop Writable :: 0
  359.         prop NoGen :: 1
  360.     }
  361.     global gInitFlag :: 1 { 
  362.         prop Visible :: 0
  363.         prop Writable :: 0
  364.         prop NoGen :: 1
  365.     }
  366.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  367.         prop Visible :: 0
  368.         prop Writable :: 0
  369.         prop NoGen :: 1
  370.     }
  371.     global OBJMEMSEG :: SDRAM { 
  372.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  373.         prop MemberType :: MEM
  374.         prop MemberTest :: MEM.dataMember($1)
  375.         prop Label :: "Object Memory"
  376.         prop JSName :: "OBJMEMSEG"
  377.         prop Visible :: 1
  378.         prop Writable :: 1
  379.         prop NoGen :: 1
  380.     }
  381.     global ENABLED :: 1 { 
  382.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  383.         prop Label :: "Compile in logging"
  384.         prop Visible :: 0
  385.         prop Writable :: 0
  386.         prop NoGen :: 0
  387.     }
  388.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  389.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  390.         prop Label :: "comment"
  391.         prop JSName :: "comment"
  392.         prop Visible :: 1
  393.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  394.         prop NoGen :: 1
  395.     }
  396.     inst iIsUsed :: 0 { 
  397.         prop Visible :: 0
  398.         prop Writable :: 0
  399.         prop NoGen :: 1
  400.     }
  401.     inst iId :: 0 { 
  402.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  403.         prop Style :: 0x01
  404.         prop Visible :: 0
  405.         prop Writable :: 1
  406.         prop NoGen :: 1
  407.     }
  408.     inst iDelUser :: "USER" { 
  409.         prop Visible :: 0
  410.         prop Writable :: 0
  411.         prop NoGen :: 1
  412.     }
  413.     inst iDelMsg :: "ok" { 
  414.         prop Visible :: 0
  415.         prop Writable :: 0
  416.         prop NoGen :: 1
  417.     }
  418.     inst bufseg :: = self.OBJMEMSEG { 
  419.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  420.         prop MemberType :: MEM
  421.         prop MemberTest :: MEM.dataMember($1)
  422.         prop Label :: "bufseg"
  423.         prop JSName :: "bufSeg"
  424.         prop Visible :: 1
  425.         prop Writable :: 1
  426.         prop NoGen :: 0
  427.     }
  428.     inst buflen :: 64 { 
  429.         prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
  430.         prop Enum :: "0,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768"
  431.         prop Label :: "buflen (words)"
  432.         prop JSName :: "bufLen"
  433.         prop Visible :: 1
  434.         prop Writable :: 1
  435.         prop NoGen :: 0
  436.         prop Set :: (GlobalStatus.gDirty = 1, self.buflen = $1, "ok")
  437.     }
  438.     inst logtype :: "circular" { 
  439.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  440.         prop Enum :: "circular,fixed"
  441.         prop Label :: "logtype"
  442.         prop JSName :: "logType"
  443.         prop Visible :: 1
  444.         prop Writable :: 1
  445.         prop NoGen :: 0
  446.     }
  447.     inst iType :: "printf" { 
  448.         prop Label :: "datatype"
  449.         prop JSName :: "dataType"
  450.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  451.         prop Enum :: "printf,raw data"
  452.         prop Visible :: 1
  453.         prop Writable :: if self.iType == "system" {0} else {1}
  454.         prop NoGen :: 1
  455.     }
  456.     inst iFormat :: "0x%x, 0x%x, 0x%x" { 
  457.         prop Label :: "format"
  458.         prop JSName :: "format"
  459.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  460.         prop Visible :: 1
  461.         prop Writable :: if self.iType == "raw data" {1} else {0}
  462.         prop NoGen :: 1
  463.     }
  464. }
  465. object LOG_system :: LOG {
  466.     param iComment :: "This object is required by the system to accumulate execution trace information"
  467.     param iIsUsed :: 1
  468.     param iId :: 0
  469.     param iDelUser :: "LOG"
  470.     param iDelMsg :: "LOG_system is a system log and cannot be deleted."
  471.     param buflen :: 1024
  472.     param logtype :: "circular"
  473.     param iType :: "system"
  474.     param iFormat :: "0x%x, 0x%x, 0x%x"
  475. }
  476. type PIP {
  477.     isa ObjectMgr
  478.     prop Label :: "PIP - Buffered Pipe Manager"
  479.     prop IsContainedIn :: IOF
  480.     prop GlobalIcon :: 117
  481.     prop InstanceIcon :: 118
  482.     prop GlobalHelpTopic :: (109)
  483.     prop InstanceHelpTopic :: (209)
  484.     prop name :: "PIP"
  485.     prop maxObjs :: (32767)
  486.     prop dataSize :: ($b = 0, scan ($i; PIP) {if ($i.IsConfObj()) {$b += (12 + $i.framesize) * $i.numframes + 100} }, $b)
  487.     prop InstancePropertyPage :: ("{B7240DF0-AA51-11cf-9BFE-0000C0AC14C8}")
  488.     prop GlobalPropertyPage :: ("{B7240DF1-AA51-11cf-9BFE-0000C0AC14C8}")
  489.     prop localCreate :: ("ok")
  490.     prop AllocType :: ("1, _globalAllocDesc, _memSeg, _placement")
  491.     prop _globalAllocDesc :: ("%8t .%1L: {%12tn  %1U_A_TABBEG = .;n _%1U_A_TABBEG = .;n %2Sn %1U_A_TABEND = .;n _%1U_A_TABEND = .;n  %1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;n _%1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;%8tn }, name, _linkString, _objSize")
  492.     prop AllocInst :: ("1, _instAllocDesc, _objMemSeg, _placement")
  493.     prop _instAllocDesc :: (if self.bufalign > 1 {"%8t /* %0s buffer */n .pip%1d: align = 0x%2x {}, _objId, _objAlign"} else {"%8t /* %0s buffer */n .pip%1d: {}, _objId"})
  494.     prop _placement :: (0x7fffffff / 2)
  495.     prop _objId :: self.iId
  496.     prop _objAlign :: self.bufalign * 4
  497.     prop _objMemSeg :: self.bufseg
  498.     prop _linkString :: if (self.gNumOf + self.gNumEmbed) > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
  499.     prop _memSeg :: PIP.OBJMEMSEG
  500.     prop _objSize :: 100
  501.     prop mkId :: (self.iId = self.gNextId++, self.gNumOf++, self.iId)
  502.     prop cGen :: 1
  503.     prop cHeaderName :: if self.gNumOf > 0 {"pip.h"} else {""}
  504.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far PIP_Obj %0r;n"} else {"extern PIP_Obj %0r;n"})
  505.     global gUser :: "USER" { 
  506.         prop Visible :: 0
  507.         prop Writable :: 0
  508.         prop NoGen :: 1
  509.     }
  510.     global gSetOf :: 0 { 
  511.         prop Visible :: 0
  512.         prop Writable :: 0
  513.         prop NoGen :: 1
  514.     }
  515.     global gNumOf :: 0 { 
  516.         prop Visible :: 0
  517.         prop Writable :: 0
  518.         prop NoGen :: 1
  519.     }
  520.     global gDirty :: 0 { 
  521.         prop Visible :: 0
  522.         prop Writable :: 0
  523.         prop NoGen :: 1
  524.     }
  525.     global gInitFlag :: 1 { 
  526.         prop Visible :: 0
  527.         prop Writable :: 0
  528.         prop NoGen :: 1
  529.     }
  530.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  531.         prop Visible :: 0
  532.         prop Writable :: 0
  533.         prop NoGen :: 1
  534.     }
  535.     global OBJMEMSEG :: SDRAM { 
  536.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  537.         prop MemberType :: MEM
  538.         prop MemberTest :: MEM.dataMember($1)
  539.         prop Label :: "Object Memory"
  540.         prop JSName :: "OBJMEMSEG"
  541.         prop Visible :: 1
  542.         prop Writable :: 1
  543.         prop NoGen :: 1
  544.     }
  545.     global gNumEmbed :: 2 { 
  546.         prop NoGen :: 0
  547.     }
  548.     global gNextId :: 0
  549.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  550.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  551.         prop Label :: "comment"
  552.         prop JSName :: "comment"
  553.         prop Visible :: 1
  554.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  555.         prop NoGen :: 1
  556.     }
  557.     inst iIsUsed :: 0 { 
  558.         prop Visible :: 0
  559.         prop Writable :: 0
  560.         prop NoGen :: 1
  561.     }
  562.     inst iId :: 0 { 
  563.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  564.         prop Style :: 0x01
  565.         prop Visible :: 0
  566.         prop Writable :: 1
  567.         prop NoGen :: 1
  568.     }
  569.     inst iDelUser :: "USER" { 
  570.         prop Visible :: 0
  571.         prop Writable :: 0
  572.         prop NoGen :: 1
  573.     }
  574.     inst iDelMsg :: "ok" { 
  575.         prop Visible :: 0
  576.         prop Writable :: 0
  577.         prop NoGen :: 1
  578.     }
  579.     inst bufseg :: = self.OBJMEMSEG { 
  580.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  581.         prop JSName :: "bufSeg"
  582.         prop MemberType :: MEM
  583.         prop MemberTest :: MEM.dataMember($1)
  584.         prop Visible :: 1
  585.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  586.         prop NoGen :: 1
  587.     }
  588.     inst bufalign :: 1 { 
  589.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  590.         prop JSName :: "bufAlign"
  591.         prop Style :: 0x01 | 0x02
  592.         prop Visible :: 1
  593.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  594.         prop NoGen :: 1
  595.         prop Set :: ($e = "ok", if ($1 == 0) {$e = self.error("Cannot set align value to 0")} else {self.bufalign = $1}, $e)
  596.     }
  597.     inst buf :: "<NULL>" { 
  598.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  599.         prop Visible :: 0
  600.         prop Writable :: 0
  601.         prop NoGen :: 0
  602.     }
  603.     inst framesize :: 8 { 
  604.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  605.         prop Label :: "framesize (words)"
  606.         prop JSName :: "frameSize"
  607.         prop Style :: if GBL.DSPTYPE == 62 {0x02} else {0x01 | 0x02}
  608.         prop Visible :: 1
  609.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  610.         prop NoGen :: 0
  611.         prop Set :: (if ($1 < 1) {self.error("framesize must be >= 1.")} else {GlobalStatus.gDirty = 1, self.framesize = $1, "ok"})
  612.     }
  613.     inst numframes :: 2 { 
  614.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  615.         prop Style :: 0x01
  616.         prop JSName :: "numFrames"
  617.         prop Visible :: 1
  618.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  619.         prop NoGen :: 0
  620.         prop Set :: (if ($1 < 1) {self.error("Pipes must contain at least 1 frame.")} else {GlobalStatus.gDirty = 1, self.numframes = $1, "ok"})
  621.     }
  622.     inst monitor :: "reader" { 
  623.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  624.         prop JSName :: "monitor"
  625.         prop Enum :: "reader,writer,none"
  626.         prop Visible :: 1
  627.         prop Writable :: 1
  628.         prop NoGen :: 0
  629.     }
  630.     inst notifyWriter :: @_FXN_F_nop { 
  631.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  632.         prop JSName :: "notifyWriterFxn"
  633.         prop Visible :: 1
  634.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  635.         prop NoGen :: 0
  636.         prop TabName :: "Notify Functions"
  637.     }
  638.     inst nwarg0 :: 0 { 
  639.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  640.         prop JSName :: "notifyWriterArg0"
  641.         prop Visible :: 1
  642.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  643.         prop NoGen :: 0
  644.         prop TabName :: "Notify Functions"
  645.     }
  646.     inst nwarg1 :: 0 { 
  647.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  648.         prop JSName :: "notifyWriterArg1"
  649.         prop Visible :: 1
  650.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  651.         prop NoGen :: 0
  652.         prop TabName :: "Notify Functions"
  653.     }
  654.     inst notifyReader :: @_FXN_F_nop { 
  655.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  656.         prop JSName :: "notifyReaderFxn"
  657.         prop Visible :: 1
  658.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  659.         prop NoGen :: 0
  660.         prop TabName :: "Notify Functions"
  661.     }
  662.     inst nrarg0 :: 0 { 
  663.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  664.         prop JSName :: "notifyReaderArg0"
  665.         prop Visible :: 1
  666.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  667.         prop NoGen :: 0
  668.         prop TabName :: "Notify Functions"
  669.     }
  670.     inst nrarg1 :: 0 { 
  671.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  672.         prop JSName :: "notifyReaderArg1"
  673.         prop Visible :: 1
  674.         prop Writable :: (if self.iDelUser == "USER" {1} else {0})
  675.         prop NoGen :: 0
  676.         prop TabName :: "Notify Functions"
  677.     }
  678.     inst bufFrameAlign :: = self._objAlign { 
  679.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  680.         prop Visible :: 0
  681.         prop Writable :: 0
  682.         prop NoGen :: 0
  683.     }
  684. }
  685. type SEM {
  686.     isa ObjectMgr
  687.     prop name :: "SEM"
  688.     prop Label :: "SEM - Semaphore Manager"
  689.     prop IsContainedIn :: SYN
  690.     prop GlobalIcon :: 137
  691.     prop InstanceIcon :: 138
  692.     prop GlobalHelpTopic :: (310)
  693.     prop InstanceHelpTopic :: (410)
  694.     prop InstancePropertyPage :: ("{D01ACC04-38DD-11d1-988B-0020AFEE33C6}")
  695.     prop GlobalPropertyPage :: ("{D01ACC05-38DD-11d1-988B-0020AFEE33C6}")
  696.     prop maxObjs :: (32767)
  697.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  698.     prop _globalAllocDesc :: ("%8t .sem: {}")
  699.     prop _placement :: (0x7fffffff / 2)
  700.     prop _memSeg :: self.OBJMEMSEG
  701.     prop dataSize :: ((8 + 3) * SEM.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  702.     prop cGen :: 1
  703.     prop cHeaderName :: if self.gNumOf > 0 {"sem.h"} else {""}
  704.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far SEM_Obj %0r;n"} else {"extern SEM_Obj %0r;n"})
  705.     global gUser :: "USER" { 
  706.         prop Visible :: 0
  707.         prop Writable :: 0
  708.         prop NoGen :: 1
  709.     }
  710.     global gSetOf :: 0 { 
  711.         prop Visible :: 0
  712.         prop Writable :: 0
  713.         prop NoGen :: 1
  714.     }
  715.     global gNumOf :: 0 { 
  716.         prop Visible :: 0
  717.         prop Writable :: 0
  718.         prop NoGen :: 1
  719.     }
  720.     global gDirty :: 0 { 
  721.         prop Visible :: 0
  722.         prop Writable :: 0
  723.         prop NoGen :: 1
  724.     }
  725.     global gInitFlag :: 1 { 
  726.         prop Visible :: 0
  727.         prop Writable :: 0
  728.         prop NoGen :: 1
  729.     }
  730.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  731.         prop Visible :: 0
  732.         prop Writable :: 0
  733.         prop NoGen :: 1
  734.     }
  735.     global CALLBACKOBJ :: nil { 
  736.         prop Visible :: 0
  737.         prop Writable :: 0
  738.         prop NoGen :: 1
  739.     }
  740.     global OBJMEMSEG :: SDRAM { 
  741.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  742.         prop MemberType :: MEM
  743.         prop MemberTest :: MEM.dataMember($1)
  744.         prop Label :: "Object Memory"
  745.         prop JSName :: "OBJMEMSEG"
  746.         prop Visible :: 1
  747.         prop Writable :: 1
  748.         prop NoGen :: 1
  749.     }
  750.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  751.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  752.         prop Label :: "comment"
  753.         prop JSName :: "comment"
  754.         prop Visible :: 1
  755.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  756.         prop NoGen :: 1
  757.     }
  758.     inst iIsUsed :: 0 { 
  759.         prop Visible :: 0
  760.         prop Writable :: 0
  761.         prop NoGen :: 1
  762.     }
  763.     inst iId :: 0 { 
  764.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  765.         prop Style :: 0x01
  766.         prop Visible :: 0
  767.         prop Writable :: 1
  768.         prop NoGen :: 1
  769.     }
  770.     inst iDelUser :: "USER" { 
  771.         prop Visible :: 0
  772.         prop Writable :: 0
  773.         prop NoGen :: 1
  774.     }
  775.     inst iDelMsg :: "ok" { 
  776.         prop Visible :: 0
  777.         prop Writable :: 0
  778.         prop NoGen :: 1
  779.     }
  780.     inst iCount :: 0 { 
  781.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  782.         prop Style :: 0x02
  783.         prop Label :: "Initial semaphore count"
  784.         prop JSName :: "count"
  785.         prop Visible :: 1
  786.         prop Writable :: 1
  787.     }
  788. }
  789. type MBX {
  790.     isa ObjectMgr
  791.     prop name :: "MBX"
  792.     prop Label :: "MBX - Mailbox Manager"
  793.     prop IsContainedIn :: SYN
  794.     prop GlobalIcon :: 131
  795.     prop InstanceIcon :: 132
  796.     prop GlobalHelpTopic :: (307)
  797.     prop InstanceHelpTopic :: (407)
  798.     prop InstancePropertyPage :: ("{0EB45D44-38C1-11d1-988B-0020AFEE33C6}")
  799.     prop GlobalPropertyPage :: ("{0EB45D45-38C1-11d1-988B-0020AFEE33C6}")
  800.     prop maxObjs :: (32767)
  801.     prop AllocType :: (if (self.gNumOf > 0) {"1, _bssAllocDesc, _memSeg, _placement"} )
  802.     prop _bssAllocDesc :: ("%8t .mbx: {}")
  803.     prop _placement :: (0x7fffffff / 2)
  804.     prop _memSeg :: self.OBJMEMSEG
  805.     prop AllocInst :: ("1 _instAllocDesc, _instMemSeg, _placement")
  806.     prop _instAllocDesc :: ("%8t .%0s$que: align = 0x4 {%12tn %0s$queElems = .;n . += %1d;%8tn }, _qElemSize")
  807.     prop _instMemSeg :: self.iMbxSeg
  808.     prop _qElemSize :: (if ((GBL.DSPTYPE == 55) || (GBL.DSPTYPE == 28)) {$a = self.iMsgSize, if ($a & 0x1) {$a += 1} , (2 + $a) * self.iMbxLength * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) * 2} else {(2 + self.iMsgSize) * self.iMbxLength * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE)})
  809.     prop dataSize :: ($d = 0, scan ($i; MBX) {$d += (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE) * (($i.iMsgSize + 2) * $i.iMbxLength + 29)}, $d)
  810.     prop cGen :: 1
  811.     prop cHeaderName :: if self.gNumOf > 0 {"mbx.h"} else {""}
  812.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far MBX_Obj %0r;n"} else {"extern MBX_Obj %0r;n"})
  813.     global gUser :: "USER" { 
  814.         prop Visible :: 0
  815.         prop Writable :: 0
  816.         prop NoGen :: 1
  817.     }
  818.     global gSetOf :: 0 { 
  819.         prop Visible :: 0
  820.         prop Writable :: 0
  821.         prop NoGen :: 1
  822.     }
  823.     global gNumOf :: 0 { 
  824.         prop Visible :: 0
  825.         prop Writable :: 0
  826.         prop NoGen :: 1
  827.     }
  828.     global gDirty :: 0 { 
  829.         prop Visible :: 0
  830.         prop Writable :: 0
  831.         prop NoGen :: 1
  832.     }
  833.     global gInitFlag :: 1 { 
  834.         prop Visible :: 0
  835.         prop Writable :: 0
  836.         prop NoGen :: 1
  837.     }
  838.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  839.         prop Visible :: 0
  840.         prop Writable :: 0
  841.         prop NoGen :: 1
  842.     }
  843.     global CALLBACKOBJ :: nil { 
  844.         prop Visible :: 0
  845.         prop Writable :: 0
  846.         prop NoGen :: 1
  847.     }
  848.     global OBJMEMSEG :: SDRAM { 
  849.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  850.         prop MemberType :: MEM
  851.         prop MemberTest :: MEM.dataMember($1)
  852.         prop Label :: "Object Memory"
  853.         prop JSName :: "OBJMEMSEG"
  854.         prop Visible :: 1
  855.         prop Writable :: 1
  856.         prop NoGen :: 1
  857.     }
  858.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  859.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  860.         prop Label :: "comment"
  861.         prop JSName :: "comment"
  862.         prop Visible :: 1
  863.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  864.         prop NoGen :: 1
  865.     }
  866.     inst iIsUsed :: 0 { 
  867.         prop Visible :: 0
  868.         prop Writable :: 0
  869.         prop NoGen :: 1
  870.     }
  871.     inst iId :: 0 { 
  872.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  873.         prop Style :: 0x01
  874.         prop Visible :: 0
  875.         prop Writable :: 1
  876.         prop NoGen :: 1
  877.     }
  878.     inst iDelUser :: "USER" { 
  879.         prop Visible :: 0
  880.         prop Writable :: 0
  881.         prop NoGen :: 1
  882.     }
  883.     inst iDelMsg :: "ok" { 
  884.         prop Visible :: 0
  885.         prop Writable :: 0
  886.         prop NoGen :: 1
  887.     }
  888.     inst iMsgSize :: 1 { 
  889.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  890.         prop Style :: 0x02
  891.         prop Label :: "Message Size"
  892.         prop JSName :: "messageSize"
  893.         prop Visible :: 1
  894.         prop Writable :: 1
  895.         prop Set :: (if ($1 == 0) {self.error("Message size cannot be zero")} else {GlobalStatus.gDirty = 1, self.iMsgSize = $1, "ok"})
  896.     }
  897.     inst iMbxLength :: 1 { 
  898.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  899.         prop Style :: 0x02
  900.         prop Label :: "Mailbox Length"
  901.         prop JSName :: "length"
  902.         prop Visible :: 1
  903.         prop Writable :: 1
  904.         prop Set :: (if ($1 == 0) {self.error("Mailbox length cannot be zero")} else {GlobalStatus.gDirty = 1, self.iMbxLength = $1, "ok"})
  905.     }
  906.     inst iMbxSeg :: MBX.OBJMEMSEG { 
  907.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  908.         prop MemberType :: MEM
  909.         prop MemberTest :: MEM.dataMember($1)
  910.         prop Label :: "Element memory segment"
  911.         prop JSName :: "elementSeg"
  912.         prop Visible :: 1
  913.         prop Writable :: 1
  914.     }
  915. }
  916. type QUE {
  917.     isa ObjectMgr
  918.     prop name :: "QUE"
  919.     prop Label :: "QUE - Atomic Queue Manager"
  920.     prop IsContainedIn :: SYN
  921.     prop GlobalIcon :: 133
  922.     prop InstanceIcon :: 134
  923.     prop IsConfMod :: 1
  924.     prop GlobalHelpTopic :: (309)
  925.     prop InstanceHelpTopic :: (409)
  926.     prop InstancePropertyPage :: ("{D01ACC01-38DD-11d1-988B-0020AFEE33C6}")
  927.     prop GlobalPropertyPage :: ("{D01ACC02-38DD-11d1-988B-0020AFEE33C6}")
  928.     prop maxObjs :: (32767)
  929.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  930.     prop _globalAllocDesc :: ("%8t .que: {}")
  931.     prop _placement :: (0x7fffffff / 2)
  932.     prop _memSeg :: self.OBJMEMSEG
  933.     prop dataSize :: (2 * QUE.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  934.     prop cGen :: 1
  935.     prop cHeaderName :: if self.gNumOf > 0 {"que.h"} else {""}
  936.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far QUE_Obj %0r;n"} else {"extern QUE_Obj %0r;n"})
  937.     global gUser :: "USER" { 
  938.         prop Visible :: 0
  939.         prop Writable :: 0
  940.         prop NoGen :: 1
  941.     }
  942.     global gSetOf :: 0 { 
  943.         prop Visible :: 0
  944.         prop Writable :: 0
  945.         prop NoGen :: 1
  946.     }
  947.     global gNumOf :: 0 { 
  948.         prop Visible :: 0
  949.         prop Writable :: 0
  950.         prop NoGen :: 1
  951.     }
  952.     global gDirty :: 0 { 
  953.         prop Visible :: 0
  954.         prop Writable :: 0
  955.         prop NoGen :: 1
  956.     }
  957.     global gInitFlag :: 1 { 
  958.         prop Visible :: 0
  959.         prop Writable :: 0
  960.         prop NoGen :: 1
  961.     }
  962.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  963.         prop Visible :: 0
  964.         prop Writable :: 0
  965.         prop NoGen :: 1
  966.     }
  967.     global CALLBACKOBJ :: nil { 
  968.         prop Visible :: 0
  969.         prop Writable :: 0
  970.         prop NoGen :: 1
  971.     }
  972.     global OBJMEMSEG :: SDRAM { 
  973.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  974.         prop MemberType :: MEM
  975.         prop MemberTest :: MEM.dataMember($1)
  976.         prop Label :: "Object Memory"
  977.         prop JSName :: "OBJMEMSEG"
  978.         prop Visible :: 1
  979.         prop Writable :: 1
  980.         prop NoGen :: 1
  981.     }
  982.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  983.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  984.         prop Label :: "comment"
  985.         prop JSName :: "comment"
  986.         prop Visible :: 1
  987.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  988.         prop NoGen :: 1
  989.     }
  990.     inst iIsUsed :: 0 { 
  991.         prop Visible :: 0
  992.         prop Writable :: 0
  993.         prop NoGen :: 1
  994.     }
  995.     inst iId :: 0 { 
  996.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  997.         prop Style :: 0x01
  998.         prop Visible :: 0
  999.         prop Writable :: 1
  1000.         prop NoGen :: 1
  1001.     }
  1002.     inst iDelUser :: "USER" { 
  1003.         prop Visible :: 0
  1004.         prop Writable :: 0
  1005.         prop NoGen :: 1
  1006.     }
  1007.     inst iDelMsg :: "ok" { 
  1008.         prop Visible :: 0
  1009.         prop Writable :: 0
  1010.         prop NoGen :: 1
  1011.     }
  1012. }
  1013. type LCK {
  1014.     isa ObjectMgr
  1015.     prop name :: "LCK"
  1016.     prop Label :: "LCK - Resource Lock Manager"
  1017.     prop IsContainedIn :: SYN
  1018.     prop GlobalIcon :: 129
  1019.     prop InstanceIcon :: 130
  1020.     prop IsConfMod :: 1
  1021.     prop GlobalHelpTopic :: (306)
  1022.     prop InstanceHelpTopic :: (406)
  1023.     prop InstancePropertyPage :: ("{0EB45D40-38C1-11d1-988B-0020AFEE33C6}")
  1024.     prop GlobalPropertyPage :: ("{0EB45D41-38C1-11d1-988B-0020AFEE33C6}")
  1025.     prop maxObjs :: (32767)
  1026.     prop AllocType :: (if (self.gNumOf > 0) {"1, _bssAllocDesc, _memSeg, _placement"} )
  1027.     prop _bssAllocDesc :: ("%8t .lck: {}")
  1028.     prop _objAllocDesc :: ("%8t .LCK$obj: {}")
  1029.     prop _placement :: (0x7fffffff / 2)
  1030.     prop _memSeg :: self.OBJMEMSEG
  1031.     prop dataSize :: ((8 + 2) * LCK.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  1032.     prop cGen :: 1
  1033.     prop cHeaderName :: if self.gNumOf > 0 {"lck.h"} else {""}
  1034.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far LCK_Obj %0r;n"} else {"extern LCK_Obj %0r;n"})
  1035.     global gUser :: "USER" { 
  1036.         prop Visible :: 0
  1037.         prop Writable :: 0
  1038.         prop NoGen :: 1
  1039.     }
  1040.     global gSetOf :: 0 { 
  1041.         prop Visible :: 0
  1042.         prop Writable :: 0
  1043.         prop NoGen :: 1
  1044.     }
  1045.     global gNumOf :: 0 { 
  1046.         prop Visible :: 0
  1047.         prop Writable :: 0
  1048.         prop NoGen :: 1
  1049.     }
  1050.     global gDirty :: 0 { 
  1051.         prop Visible :: 0
  1052.         prop Writable :: 0
  1053.         prop NoGen :: 1
  1054.     }
  1055.     global gInitFlag :: 1 { 
  1056.         prop Visible :: 0
  1057.         prop Writable :: 0
  1058.         prop NoGen :: 1
  1059.     }
  1060.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1061.         prop Visible :: 0
  1062.         prop Writable :: 0
  1063.         prop NoGen :: 1
  1064.     }
  1065.     global CALLBACKOBJ :: nil { 
  1066.         prop Visible :: 0
  1067.         prop Writable :: 0
  1068.         prop NoGen :: 1
  1069.     }
  1070.     global OBJMEMSEG :: SDRAM { 
  1071.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1072.         prop MemberType :: MEM
  1073.         prop MemberTest :: MEM.dataMember($1)
  1074.         prop Label :: "Object Memory"
  1075.         prop JSName :: "OBJMEMSEG"
  1076.         prop Visible :: 1
  1077.         prop Writable :: 1
  1078.         prop NoGen :: 1
  1079.     }
  1080.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1081.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1082.         prop Label :: "comment"
  1083.         prop JSName :: "comment"
  1084.         prop Visible :: 1
  1085.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1086.         prop NoGen :: 1
  1087.     }
  1088.     inst iIsUsed :: 0 { 
  1089.         prop Visible :: 0
  1090.         prop Writable :: 0
  1091.         prop NoGen :: 1
  1092.     }
  1093.     inst iId :: 0 { 
  1094.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1095.         prop Style :: 0x01
  1096.         prop Visible :: 0
  1097.         prop Writable :: 1
  1098.         prop NoGen :: 1
  1099.     }
  1100.     inst iDelUser :: "USER" { 
  1101.         prop Visible :: 0
  1102.         prop Writable :: 0
  1103.         prop NoGen :: 1
  1104.     }
  1105.     inst iDelMsg :: "ok" { 
  1106.         prop Visible :: 0
  1107.         prop Writable :: 0
  1108.         prop NoGen :: 1
  1109.     }
  1110. }
  1111. type SIO {
  1112.     isa ObjectMgr
  1113.     prop name :: "SIO"
  1114.     prop Label :: "SIO - Stream Input and Output Manager"
  1115.     prop IsContainedIn :: IOF
  1116.     prop GlobalIcon :: 139
  1117.     prop InstanceIcon :: 140
  1118.     prop GlobalHelpTopic :: (311)
  1119.     prop InstanceHelpTopic :: (411)
  1120.     prop InstancePropertyPage :: ("{7C4C9A60-763E-11d1-988B-0020AFEE33C6}")
  1121.     prop GlobalPropertyPage :: ("{7C4C9A61-763E-11d1-988B-0020AFEE33C6}")
  1122.     prop DependsOn :: "DEV,UDEV,DGN,DHL,DPI"
  1123.     prop maxObjs :: (32767)
  1124.     prop AllocType :: (if (self.gNumOf > 0) {"2, _bssAllocDesc, _memSeg, _placement,
  1125.           _objAllocDesc, _memSeg, _placement"} )
  1126.     prop _bssAllocDesc :: ("%8t .SIO$bss: {%12tn *(.SIO$bss)%8tn }")
  1127.     prop _objAllocDesc :: ("%8t .SIO$obj: {%12tn *(.SIO$obj)%8tn }")
  1128.     prop _placement :: (0x7fffffff / 2)
  1129.     prop _memSeg :: self.OBJMEMSEG
  1130.     prop AllocInst :: ("1, _instBufDesc, _instBufSeg, _placement")
  1131.     prop _instBufDesc :: (if self.iAlign > 1 {"%8t .%0s$bufs: align = 0x%1x {}, _objAlign"} else {"%8t .%0s$bufs: {}"})
  1132.     prop _objAlign :: self.iAlign
  1133.     prop _instBufSeg :: self.iBufSegid
  1134.     prop defDev :: ($h = nil, $i = nil, $j = nil, scan ($h; nil) {if ($h.isDriver == 1) {scan ($i; $h) {if ($j == nil && $i.iIsTerminal != 0 && $i.iIsVirtual == 0) {$j = $i, break} }} }, $j)
  1135.     prop devList :: ($h = nil, $i = nil, $j = nil, scan ($h; nil) {if ($h.isDriver == 1) {scan ($i; $h) {if ($j == nil && $i.iIsTerminal != 0 && $i.iIsVirtual == 0) {$j = $i, scan ($a; DIO) {if ($a == $i) {$i.numTimeUse++} }, break} }} }, $j)
  1136.     prop setDev :: ($h = nil, $i = nil, $j = nil, scan ($h; nil) {if ($h.isDriver == 1) {scan ($i; $h) {if ($i == $1) {$j = $i} }} }, $j)
  1137.     prop localCanCreate :: (if (self.defDev == nil) {self.error("A driver device must be created before creating a stream.")} else {"ok"})
  1138.     prop localDelete :: (scan ($a; DIO) {if ($a == self.iDevice) {self.iDevice.numTimeUse--} }, "ok")
  1139.     prop cGen :: 1
  1140.     prop cHeaderName :: if self.gNumOf > 0 {"sio.h"} else {""}
  1141.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far SIO_Obj %0r;n"} else {"extern SIO_Obj %0r;n"})
  1142.     global gUser :: "USER" { 
  1143.         prop Visible :: 0
  1144.         prop Writable :: 0
  1145.         prop NoGen :: 1
  1146.     }
  1147.     global gSetOf :: 0 { 
  1148.         prop Visible :: 0
  1149.         prop Writable :: 0
  1150.         prop NoGen :: 1
  1151.     }
  1152.     global gNumOf :: 0 { 
  1153.         prop Visible :: 0
  1154.         prop Writable :: 0
  1155.         prop NoGen :: 1
  1156.     }
  1157.     global gDirty :: 0 { 
  1158.         prop Visible :: 0
  1159.         prop Writable :: 0
  1160.         prop NoGen :: 1
  1161.     }
  1162.     global gInitFlag :: 1 { 
  1163.         prop Visible :: 0
  1164.         prop Writable :: 0
  1165.         prop NoGen :: 1
  1166.     }
  1167.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1168.         prop Visible :: 0
  1169.         prop Writable :: 0
  1170.         prop NoGen :: 1
  1171.     }
  1172.     global gNumEmbed :: 0 { 
  1173.         prop NoGen :: 1
  1174.     }
  1175.     global OBJMEMSEG :: SDRAM { 
  1176.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1177.         prop MemberType :: MEM
  1178.         prop MemberTest :: MEM.dataMember($1)
  1179.         prop Label :: "Object Memory"
  1180.         prop JSName :: "OBJMEMSEG"
  1181.         prop Visible :: 1
  1182.         prop Writable :: 1
  1183.         prop NoGen :: 1
  1184.     }
  1185.     global USEISSUERECLAIM :: 0 { 
  1186.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1187.         prop Label :: "Use Only Issue/Reclaim Model"
  1188.         prop JSName :: "USEISSUERECLAIM"
  1189.         prop Visible :: 1
  1190.         prop Writable :: 1
  1191.         prop NoGen :: 1
  1192.         prop Set :: (self.USEISSUERECLAIM = $1, if ($1 == 1) {scan ($i; SIO) {$i.iModelName = "Issue/Reclaim"}} , "ok")
  1193.     }
  1194.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1195.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1196.         prop Label :: "comment"
  1197.         prop JSName :: "comment"
  1198.         prop Visible :: 1
  1199.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1200.         prop NoGen :: 1
  1201.     }
  1202.     inst iIsUsed :: 0 { 
  1203.         prop Visible :: 0
  1204.         prop Writable :: 0
  1205.         prop NoGen :: 1
  1206.     }
  1207.     inst iId :: 0 { 
  1208.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1209.         prop Style :: 0x01
  1210.         prop Visible :: 0
  1211.         prop Writable :: 1
  1212.         prop NoGen :: 1
  1213.     }
  1214.     inst iDelUser :: "USER" { 
  1215.         prop Visible :: 0
  1216.         prop Writable :: 0
  1217.         prop NoGen :: 1
  1218.     }
  1219.     inst iDelMsg :: "ok" { 
  1220.         prop Visible :: 0
  1221.         prop Writable :: 0
  1222.         prop NoGen :: 1
  1223.     }
  1224.     inst iDevice :: SIO.devList { 
  1225.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1226.         prop TypeTest :: $1.isDriver == 1
  1227.         prop MemberTest :: $1.driverType != "DEV_IOMTYPE"
  1228.         prop Label :: "Device"
  1229.         prop JSName :: "deviceName"
  1230.         prop Set :: (if (($1.iIsTerminal == 0) && (self.iDevCtrlParam == "")) {self.error("To select a stacking device, enter first a terminal device in Device Control String")} else {if ($1.iIsVirtual == 1) {self.error("The device you have selected is a virtual instance, you must select a non-virtual device")} else {scan ($a; DIO) {if ($a == self.iDevice) {self.iDevice.numTimeUse--} }, scan ($b; DIO) {if ($b == $1) {$1.numTimeUse++} }, self.iDevice = self.setDev($1), "ok"}})
  1231.         prop Visible :: 1
  1232.         prop Writable :: 1
  1233.     }
  1234.     inst iDevCtrlParam :: "" { 
  1235.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1236.         prop Label :: "Device Control String"
  1237.         prop JSName :: "controlParameter"
  1238.         prop Visible :: 1
  1239.         prop Writable :: 1
  1240.     }
  1241.     inst iDevId :: = self.iDevice.iDevId
  1242.     inst iFxns :: = self.iDevice.iFxns
  1243.     inst iMode :: "input" { 
  1244.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1245.         prop Enum :: "input,output"
  1246.         prop Label :: "Mode"
  1247.         prop JSName :: "mode"
  1248.         prop Visible :: 1
  1249.         prop Writable :: 1
  1250.     }
  1251.     inst iBufsize :: 0x80 { 
  1252.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1253.         prop Style :: 0x02
  1254.         prop Label :: "Buffer size"
  1255.         prop JSName :: "bufSize"
  1256.         prop Visible :: 1
  1257.         prop Writable :: 1
  1258.     }
  1259.     inst iNbufs :: 2 { 
  1260.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1261.         prop Style :: 0x01
  1262.         prop Label :: "Number of buffers"
  1263.         prop JSName :: "numBufs"
  1264.         prop Visible :: 1
  1265.         prop Writable :: 1
  1266.     }
  1267.     inst iBufSegid :: = self.OBJMEMSEG { 
  1268.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1269.         prop MemberType :: MEM
  1270.         prop MemberTest :: MEM.dataMember($1)
  1271.         prop Label :: "Place buffers in memory segment"
  1272.         prop JSName :: "bufSegId"
  1273.         prop Visible :: 1
  1274.         prop Writable :: self.iAllocBuf == 1
  1275.     }
  1276.     inst iAlign :: 1 { 
  1277.         prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
  1278.         prop Enum :: "1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768"
  1279.         prop Label :: "Buffer alignment"
  1280.         prop JSName :: "bufAlign"
  1281.         prop Visible :: 1
  1282.         prop Writable :: self.iAllocBuf == 1
  1283.     }
  1284.     inst iFlush :: 0 { 
  1285.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1286.         prop Label :: "Flush"
  1287.         prop JSName :: "flush"
  1288.         prop Visible :: 1
  1289.         prop Writable :: 1
  1290.     }
  1291.     inst iModelName :: "Standard" { 
  1292.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1293.         prop Enum :: "Standard,Issue/Reclaim"
  1294.         prop Label :: "Model"
  1295.         prop JSName :: "modelName"
  1296.         prop Visible :: 1
  1297.         prop Writable :: 1
  1298.         prop NoGen :: 1
  1299.         prop Set :: ($e = "ok", if (self.USEISSUERECLAIM == 1) {if ($1 == "Standard") {$e = self.error("SIO Issue/Reclaim model support selected")} else {self.iModel = if $1 == "Standard" {"SIO_STANDARD"} else {"SIO_ISSUERECLAIM"}, self.iModelName = $1}} else {self.iModel = if $1 == "Standard" {"SIO_STANDARD"} else {"SIO_ISSUERECLAIM"}, self.iModelName = $1}, $e)
  1300.     }
  1301.     inst iAllocBuf :: = self.iSaveAllocBuf { 
  1302.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1303.         prop Label :: "Allocate Static Buffer(s)"
  1304.         prop JSName :: "allocStaticBuf"
  1305.         prop Visible :: 1
  1306.         prop Writable :: 1
  1307.         prop Set :: (self.iSaveAllocBuf = $1, "ok")
  1308.     }
  1309.     inst iSaveAllocBuf :: 0 { 
  1310.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1311.         prop NoGen :: 1
  1312.     }
  1313.     inst iModel :: "SIO_STANDARD" { 
  1314.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1315.         prop Enum :: "SIO_STANDARD,SIO_ISSUERECLAIM"
  1316.         prop Visible :: 0
  1317.         prop Writable :: 0
  1318.     }
  1319.     inst iTimeout :: = if self.iModel == "SIO_ISSUERECLAIM" {self.iSaveTimeout} else {-1} { 
  1320.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1321.         prop Label :: "Timeout for I/O operation"
  1322.         prop JSName :: "timeout"
  1323.         prop Visible :: 1
  1324.         prop Writable :: self.iModel == "SIO_ISSUERECLAIM"
  1325.         prop Set :: (self.iSaveTimeout = $1, "ok")
  1326.     }
  1327.     inst iSaveTimeout :: -1 { 
  1328.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1329.         prop NoGen :: 1
  1330.     }
  1331.     inst useCallBackFxn :: 0 { 
  1332.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1333.         prop Label :: "use callback function"
  1334.         prop JSName :: "useCallBackFxn"
  1335.         prop Visible :: 1
  1336.         prop Writable :: 1
  1337.         prop NoGen :: 0
  1338.         prop TabName :: "Callback"
  1339.     }
  1340.     inst callBackFxn :: @_FXN_F_nop { 
  1341.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1342.         prop Label :: "callback function"
  1343.         prop JSName :: "callBackFxn"
  1344.         prop Visible :: 1
  1345.         prop Writable :: self.useCallBackFxn
  1346.         prop NoGen :: 0
  1347.         prop TabName :: "Callback"
  1348.     }
  1349.     inst arg0 :: 0 { 
  1350.         prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
  1351.         prop Label :: "argument 0"
  1352.         prop JSName :: "arg0"
  1353.         prop Visible :: 1
  1354.         prop Writable :: self.useCallBackFxn
  1355.         prop NoGen :: 0
  1356.         prop TabName :: "Callback"
  1357.     }
  1358.     inst arg1 :: 0 { 
  1359.         prop Type :: "{E91790E0-0456-11d2-B8D0-006008BDB66F}"
  1360.         prop Label :: "argument 1"
  1361.         prop JSName :: "arg1"
  1362.         prop Visible :: 1
  1363.         prop Writable :: self.useCallBackFxn
  1364.         prop NoGen :: 0
  1365.         prop TabName :: "Callback"
  1366.     }
  1367. }
  1368. type STS {
  1369.     isa ObjectMgr
  1370.     prop name :: "STS"
  1371.     prop Label :: "STS - Statistics Object Manager"
  1372.     prop IsContainedIn :: INS
  1373.     prop GlobalIcon :: 125
  1374.     prop InstanceIcon :: 126
  1375.     prop InstanceHelpTopic :: (212)
  1376.     prop GlobalHelpTopic :: (112)
  1377.     prop AllocType :: ("1, _globalAllocDesc, _memSeg, _placement")
  1378.     prop _globalAllocDesc :: ("%8t .%1L: {%12tn  %1U_A_TABBEG = .;n _%1U_A_TABBEG = .;n %2Sn %1U_A_TABEND = .;n _%1U_A_TABEND = .;n  %1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;n _%1U_A_TABLEN = (. - _%1U_A_TABBEG) / %3d;%8tn }, name, _linkString, _objSize")
  1379.     prop localInit :: (if (PRD.CALLBACKOBJ != nil) {self.error("STS initialization failure")} , PRD.CALLBACKOBJ = STS)
  1380.     prop _placement :: (0x7fffffff / 2)
  1381.     prop _linkString :: if self.gNumOf > 0 {"*(.%1L)"} else {"/* no %1U objects */"}
  1382.     prop _memSeg :: STS.OBJMEMSEG
  1383.     prop _objSize :: if GBL.DSPTYPE == 55 {(2 * (4 * 4))} else {(4 * 4)}
  1384.     prop dataSize :: ((4 * 4) * (STS.gNumOf + STS.gNumEmbed))
  1385.     prop maxObjs :: (32767)
  1386.     prop InstancePropertyPage :: ("{B7240DEE-AA51-11cf-9BFE-0000C0AC14C7}")
  1387.     prop GlobalPropertyPage :: ("{B7240DEF-AA51-11cf-9BFE-0000C0AC14C7}")
  1388.     prop STSGetMaxFmt :: (self.format)
  1389.     prop STSGetSumFmt :: (self.format)
  1390.     prop STSGetAvgFmt :: ("%.2f")
  1391.     prop STSFilterSum :: ((self.iA * $1 + self.iB * $2) / (1.0 * self.iC))
  1392.     prop STSFilterMax :: ((self.iA * $1 + self.iB) / (1.0 * self.iC))
  1393.     prop HighTimeBased :: (if self.unittype == "High resolution time based" {1} else {0})
  1394.     prop LowTimeBased :: (if self.unittype == "Low resolution time based" {1} else {0})
  1395.     prop cGen :: 1
  1396.     prop cHeaderName :: if self.gNumOf > 0 {"sts.h"} else {""}
  1397.     prop cGenHInst :: (if (GBL.DSPTYPE == 62) {"extern far STS_Obj %0r;n"} else {"extern STS_Obj %0r;n"})
  1398.     prop modifiable :: ((if (self.iDelUser == "USER" || self.iDelUser == "HWI") {1} else {0}))
  1399.     prop call :: (scan ($a; STS) {if ($a.unittype == "High resolution time based") {$a.iA = CLK.INSTRPERCLK} })
  1400.     global gUser :: "USER" { 
  1401.         prop Visible :: 0
  1402.         prop Writable :: 0
  1403.         prop NoGen :: 1
  1404.     }
  1405.     global gSetOf :: 0 { 
  1406.         prop Visible :: 0
  1407.         prop Writable :: 0
  1408.         prop NoGen :: 1
  1409.     }
  1410.     global gNumOf :: 1 { 
  1411.         prop Visible :: 0
  1412.         prop Writable :: 0
  1413.         prop NoGen :: 1
  1414.     }
  1415.     global gDirty :: 1 { 
  1416.         prop Visible :: 0
  1417.         prop Writable :: 0
  1418.         prop NoGen :: 1
  1419.     }
  1420.     global gInitFlag :: 1 { 
  1421.         prop Visible :: 0
  1422.         prop Writable :: 0
  1423.         prop NoGen :: 1
  1424.     }
  1425.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1426.         prop Visible :: 0
  1427.         prop Writable :: 0
  1428.         prop NoGen :: 1
  1429.     }
  1430.     global OBJMEMSEG :: SDRAM { 
  1431.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1432.         prop MemberType :: MEM
  1433.         prop MemberTest :: MEM.dataMember($1)
  1434.         prop Label :: "Object Memory"
  1435.         prop Visible :: 1
  1436.         prop Writable :: 1
  1437.         prop NoGen :: 1
  1438.     }
  1439.     global gNumEmbed :: 2 { 
  1440.         prop Visible :: 0
  1441.         prop Writable :: 0
  1442.         prop NoGen :: 1
  1443.     }
  1444.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1445.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1446.         prop Label :: "comment"
  1447.         prop JSName :: "comment"
  1448.         prop Visible :: 1
  1449.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1450.         prop NoGen :: 1
  1451.     }
  1452.     inst iIsUsed :: 0 { 
  1453.         prop Visible :: 0
  1454.         prop Writable :: 0
  1455.         prop NoGen :: 1
  1456.     }
  1457.     inst iId :: 0 { 
  1458.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1459.         prop Style :: 0x01
  1460.         prop Visible :: 0
  1461.         prop Writable :: 1
  1462.         prop NoGen :: 1
  1463.     }
  1464.     inst iDelUser :: "USER" { 
  1465.         prop Visible :: 0
  1466.         prop Writable :: 0
  1467.         prop NoGen :: 1
  1468.     }
  1469.     inst iDelMsg :: "ok" { 
  1470.         prop Visible :: 0
  1471.         prop Writable :: 0
  1472.         prop NoGen :: 1
  1473.     }
  1474.     inst prev :: 0 { 
  1475.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1476.         prop Visible :: 1
  1477.         prop Writable :: self.modifiable()
  1478.         prop JSName :: "previousVal"
  1479.         prop NoGen :: GBL.DSPTYPE != 40 && GBL.DSPTYPE != 62
  1480.         prop Set :: (self.prev = $1, self.prevlow = $1 & 0xffff, self.prevhigh = ($1 >> 16) & 0xffff, "ok")
  1481.     }
  1482.     inst format :: "%g" { 
  1483.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1484.         prop Visible :: 0
  1485.         prop Writable :: 1
  1486.         prop Label :: "format"
  1487.         prop NoGen :: 1
  1488.     }
  1489.     inst unittype :: "Not time based" { 
  1490.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1491.         prop Enum :: "Not time based,High resolution time based,Low resolution time based"
  1492.         prop Label :: "unit type"
  1493.         prop JSName :: "unitType"
  1494.         prop Visible :: 1
  1495.         prop Writable :: self.modifiable()
  1496.         prop NoGen :: 1
  1497.         prop Set :: (self.unittype = $1, if ($1 == "High resolution time based") {self.iA = CLK.INSTRPERCLK, self.iB = 0, self.iC = 1, self.operation = "A * x"} else {if ($1 == "Low resolution time based") {self.iA = 1, self.iB = 0, self.iC = 1, self.operation = "A * x"} else {self.iA = 1, self.iB = 0, self.iC = 1, self.operation = "Nothing"}}, "ok")
  1498.     }
  1499.     inst operation :: "Nothing" { 
  1500.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1501.         prop Enum :: "Nothing,A * x,A * x + B,(A * x + B) / C"
  1502.         prop Label :: "host operation"
  1503.         prop JSName :: "operation"
  1504.         prop Visible :: 1
  1505.         prop Writable :: ((self.unittype != "Low resolution time based") && self.modifiable())
  1506.         prop NoGen :: 1
  1507.         prop Set :: (self.operation = $1, if ($1 == "Nothing" && self.unittype != "High resolution time based") {self.iA = 1, self.iB = 0, self.iC = 1} else {if ($1 == "A * x") {self.iB = 0, self.iC = 1} else {if ($1 == "A * x + B") {self.iC = 1} }}, "ok")
  1508.     }
  1509.     inst iA :: 1 { 
  1510.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1511.         prop Visible :: 1
  1512.         prop Writable :: (self.modifiable() && !(self.unittype != "Not time based" || self.operation == "Nothing"))
  1513.         prop Label :: "A"
  1514.         prop JSName :: "numA"
  1515.         prop NoGen :: 1
  1516.     }
  1517.     inst iB :: 0 { 
  1518.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1519.         prop Visible :: 1
  1520.         prop Writable :: (self.modifiable() && !(self.unittype == "Low resolution time based" || self.operation == "Nothing" || self.operation == "A * x"))
  1521.         prop Label :: "B"
  1522.         prop JSName :: "numB"
  1523.         prop NoGen :: 1
  1524.     }
  1525.     inst iC :: 1 { 
  1526.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1527.         prop Visible :: 1
  1528.         prop Writable :: (self.modifiable() && (self.unittype == "Not time based" && self.operation == "(A * x + B) / C"))
  1529.         prop Label :: "C"
  1530.         prop JSName :: "numC"
  1531.         prop NoGen :: 1
  1532.     }
  1533.     inst prevhigh :: 0 { 
  1534.         prop Visible :: 0
  1535.         prop Writable :: 0
  1536.         prop NoGen :: GBL.DSPTYPE == 40 || GBL.DSPTYPE == 62
  1537.     }
  1538.     inst prevlow :: 0 { 
  1539.         prop Visible :: 0
  1540.         prop Writable :: 0
  1541.         prop NoGen :: 0
  1542.     }
  1543. }
  1544. type SYS {
  1545.     isa Module
  1546.     prop name :: "SYS"
  1547.     prop Label :: "SYS - System Settings"
  1548.     prop IsContainedIn :: SYSTEM
  1549.     prop GlobalIcon :: 141
  1550.     prop InstanceIcon :: 142
  1551.     prop IsConfMod :: 1
  1552.     prop GlobalHelpTopic :: (313)
  1553.     prop InstanceHelpTopic :: (413)
  1554.     prop InstancePropertyPage :: ("{473C4A62-B1A8-11d0-9885-0020AFEE33C6}")
  1555.     prop GlobalPropertyPage :: ("{473C4A63-B1A8-11d0-9885-0020AFEE33C6}")
  1556.     prop AllocType :: (if self.PUTCFXN == @_UTL_doPutc {"2, _globalAllocDesc, _memSeg, _midPlace, 
  1557.       _traceString, _traceSeg, _midPlace"} else {"1, _globalAllocDesc, _memSeg, _midPlace"})
  1558.     prop _globalAllocDesc :: ("%8t .sys:     {}")
  1559.     prop _traceString :: ("%8t .trace: fill = 0x0 {%12tn_SYS_PUTCBEG = .;n. += 0x%1x;n_SYS_PUTCEND = . - 1;%8tn }, _traceSize")
  1560.     prop _midPlace :: (0x7fffffff / 2)
  1561.     prop _memSeg :: MEM.CFGOBJSEG
  1562.     prop _traceSeg :: SYS.TRACESEG
  1563.     prop _traceSize :: SYS.TRACESIZE
  1564.     global gUser :: "USER" { 
  1565.         prop Visible :: 0
  1566.         prop Writable :: 0
  1567.         prop NoGen :: 1
  1568.     }
  1569.     global gSetOf :: 0 { 
  1570.         prop Visible :: 0
  1571.         prop Writable :: 0
  1572.         prop NoGen :: 1
  1573.     }
  1574.     global gNumOf :: 0 { 
  1575.         prop Visible :: 0
  1576.         prop Writable :: 0
  1577.         prop NoGen :: 1
  1578.     }
  1579.     global gDirty :: 0 { 
  1580.         prop Visible :: 0
  1581.         prop Writable :: 0
  1582.         prop NoGen :: 1
  1583.     }
  1584.     global gInitFlag :: 1 { 
  1585.         prop Visible :: 0
  1586.         prop Writable :: 0
  1587.         prop NoGen :: 1
  1588.     }
  1589.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1590.         prop Visible :: 0
  1591.         prop Writable :: 0
  1592.         prop NoGen :: 1
  1593.     }
  1594.     global CALLBACKOBJ :: nil { 
  1595.         prop Visible :: 0
  1596.         prop Writable :: 0
  1597.         prop NoGen :: 1
  1598.     }
  1599.     global TRACESIZE :: 512 { 
  1600.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  1601.         prop Format :: "%d"
  1602.         prop Style :: 0x01 | 0x02
  1603.         prop Label :: "Trace Buffer Size"
  1604.         prop JSName :: "TRACESIZE"
  1605.         prop Visible :: 1
  1606.         prop Writable :: 1
  1607.         prop NoGen :: 1
  1608.     }
  1609.     global TRACESEG :: SDRAM { 
  1610.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  1611.         prop MemberType :: MEM
  1612.         prop MemberTest :: MEM.dataMember($1)
  1613.         prop Label :: "Trace Buffer Memory"
  1614.         prop JSName :: "TRACESEG"
  1615.         prop Visible :: 1
  1616.         prop Writable :: 1
  1617.         prop NoGen :: 1
  1618.     }
  1619.     global ABORTFXN :: @_UTL_doAbort { 
  1620.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1621.         prop Label :: "Abort Function"
  1622.         prop JSName :: "ABORTFXN"
  1623.         prop Visible :: 1
  1624.         prop Writable :: 1
  1625.         prop NoGen :: 0
  1626.     }
  1627.     global ERRORFXN :: @_UTL_doError { 
  1628.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1629.         prop Label :: "Error Function"
  1630.         prop JSName :: "ERRORFXN"
  1631.         prop Visible :: 1
  1632.         prop Writable :: 1
  1633.         prop NoGen :: 0
  1634.     }
  1635.     global EXITFXN :: @_UTL_halt { 
  1636.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1637.         prop Label :: "Exit Function"
  1638.         prop JSName :: "EXITFXN"
  1639.         prop Visible :: 1
  1640.         prop Writable :: 1
  1641.         prop NoGen :: 0
  1642.     }
  1643.     global PUTCFXN :: @_UTL_doPutc { 
  1644.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1645.         prop Label :: "Putc Function"
  1646.         prop JSName :: "PUTCFXN"
  1647.         prop Visible :: 1
  1648.         prop Writable :: 1
  1649.         prop NoGen :: 0
  1650.     }
  1651. }
  1652. type GIO {
  1653.     isa Module
  1654.     prop Visible :: 1
  1655.     prop name :: "GIO"
  1656.     prop Label :: "GIO - General Input/Output Manager"
  1657.     prop IsConfMod :: self.USEGIO
  1658.     prop IsContainedIn :: IOF
  1659.     prop GlobalIcon :: 141
  1660.     prop InstanceIcon :: 142
  1661.     prop GlobalHelpTopic :: (320)
  1662.     prop InstanceHelpTopic :: (420)
  1663.     prop InstancePropertyPage :: ("{473C4A62-B1A8-11d0-9885-0020AFEE33C6}")
  1664.     prop GlobalPropertyPage :: ("{473C4A63-B1A8-11d0-9885-0020AFEE33C6}")
  1665.     prop DependsOn :: "DEV,UDEV"
  1666.     prop AllocType :: ("1, _globalAllocDesc, _memSeg, _midPlace")
  1667.     prop _globalAllocDesc :: ("%8t .gio:     {}")
  1668.     prop _midPlace :: (0x7fffffff / 2)
  1669.     prop _memSeg :: MEM.CFGOBJSEG
  1670.     global gUser :: "USER" { 
  1671.         prop Visible :: 0
  1672.         prop Writable :: 0
  1673.         prop NoGen :: 1
  1674.     }
  1675.     global gSetOf :: 0 { 
  1676.         prop Visible :: 0
  1677.         prop Writable :: 0
  1678.         prop NoGen :: 1
  1679.     }
  1680.     global gNumOf :: 0 { 
  1681.         prop Visible :: 0
  1682.         prop Writable :: 0
  1683.         prop NoGen :: 1
  1684.     }
  1685.     global gDirty :: 0 { 
  1686.         prop Visible :: 0
  1687.         prop Writable :: 0
  1688.         prop NoGen :: 1
  1689.     }
  1690.     global gInitFlag :: 1 { 
  1691.         prop Visible :: 0
  1692.         prop Writable :: 0
  1693.         prop NoGen :: 1
  1694.     }
  1695.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1696.         prop Visible :: 0
  1697.         prop Writable :: 0
  1698.         prop NoGen :: 1
  1699.     }
  1700.     global CALLBACKOBJ :: nil { 
  1701.         prop Visible :: 0
  1702.         prop Writable :: 0
  1703.         prop NoGen :: 1
  1704.     }
  1705.     global USEGIO :: 1 { 
  1706.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1707.         prop Label :: "Enable General Input/Output Manager"
  1708.         prop JSName :: "ENABLEGIO"
  1709.         prop Visible :: 1
  1710.         prop Writable :: 1
  1711.         prop NoGen :: 1
  1712.     }
  1713.     global CREATEFXN :: = if self.USEGIO == 1 {@_SEM_create} else {@_FXN_F_nop} { 
  1714.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1715.         prop Label :: "Create Function"
  1716.         prop JSName :: "CREATEFXN"
  1717.         prop Visible :: 1
  1718.         prop Writable :: self.USEGIO
  1719.         prop NoGen :: 0
  1720.     }
  1721.     global DELETEFXN :: = if self.USEGIO == 1 {@_SEM_delete} else {@_FXN_F_nop} { 
  1722.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1723.         prop Label :: "Delete Function"
  1724.         prop JSName :: "DELETEFXN"
  1725.         prop Visible :: 1
  1726.         prop Writable :: self.USEGIO
  1727.         prop NoGen :: 0
  1728.     }
  1729.     global PENDFXN :: = if self.USEGIO == 1 {@_SEM_pend} else {@_FXN_F_nop} { 
  1730.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1731.         prop Label :: "Pend Function"
  1732.         prop JSName :: "PENDFXN"
  1733.         prop Visible :: 1
  1734.         prop Writable :: self.USEGIO
  1735.         prop NoGen :: 0
  1736.     }
  1737.     global POSTFXN :: = if self.USEGIO == 1 {@_SEM_post} else {@_FXN_F_nop} { 
  1738.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  1739.         prop Label :: "Post Function"
  1740.         prop JSName :: "POSTFXN"
  1741.         prop Visible :: 1
  1742.         prop Writable :: self.USEGIO
  1743.         prop NoGen :: 0
  1744.     }
  1745. }
  1746. type SIODRIVER {
  1747.     isa ModuleFolder
  1748.     prop Label :: "Device Drivers"
  1749.     prop IsContainedIn :: IOF
  1750.     prop GlobalIcon :: 127
  1751.     prop GlobalHelpTopic :: (BIOSHELP_DEV_FOLDER)
  1752.     prop GlobalPropertyPage :: ("{A2BCEC70-5365-11d4-947C-0050048381B7}")
  1753.     global gUser :: "USER" { 
  1754.         prop Visible :: 0
  1755.         prop Writable :: 0
  1756.         prop NoGen :: 1
  1757.     }
  1758.     global gSetOf :: 0 { 
  1759.         prop Visible :: 0
  1760.         prop Writable :: 0
  1761.         prop NoGen :: 1
  1762.     }
  1763.     global gNumOf :: 0 { 
  1764.         prop Visible :: 0
  1765.         prop Writable :: 0
  1766.         prop NoGen :: 1
  1767.     }
  1768.     global gDirty :: 0 { 
  1769.         prop Visible :: 0
  1770.         prop Writable :: 0
  1771.         prop NoGen :: 1
  1772.     }
  1773.     global gInitFlag :: 1 { 
  1774.         prop Visible :: 0
  1775.         prop Writable :: 0
  1776.         prop NoGen :: 1
  1777.     }
  1778.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1779.         prop Visible :: 0
  1780.         prop Writable :: 0
  1781.         prop NoGen :: 1
  1782.     }
  1783. }
  1784. type DEV {
  1785.     isa ObjectMgr
  1786.     prop name :: "DEV"
  1787.     prop Visible :: 0
  1788.     prop AllocType :: (if (self.gNumOf > 0) {"1, _bssAllocDesc, _memSeg, _placement"} , if (DGN.gNumOf || DHL.gNumOf || DPI.gNumOf || DIO.gNumOf || UDEV.gNumOf) {"1, _devtableDesc, _memSeg, _placement"} )
  1789.     prop _bssAllocDesc :: ("%8t .dev: {}")
  1790.     prop _devtableDesc :: ("%8t .devtable: {}")
  1791.     prop _memSeg :: MEM.CFGOBJSEG
  1792.     prop _placement :: (0x7fffffff / 2)
  1793.     prop DependsOn :: "HWI"
  1794.     global gUser :: "USER" { 
  1795.         prop Visible :: 0
  1796.         prop Writable :: 0
  1797.         prop NoGen :: 1
  1798.     }
  1799.     global gSetOf :: 0 { 
  1800.         prop Visible :: 0
  1801.         prop Writable :: 0
  1802.         prop NoGen :: 1
  1803.     }
  1804.     global gNumOf :: 0 { 
  1805.         prop Visible :: 0
  1806.         prop Writable :: 0
  1807.         prop NoGen :: 1
  1808.     }
  1809.     global gDirty :: 0 { 
  1810.         prop Visible :: 0
  1811.         prop Writable :: 0
  1812.         prop NoGen :: 1
  1813.     }
  1814.     global gInitFlag :: 1 { 
  1815.         prop Visible :: 0
  1816.         prop Writable :: 0
  1817.         prop NoGen :: 1
  1818.     }
  1819.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1820.         prop Visible :: 0
  1821.         prop Writable :: 0
  1822.         prop NoGen :: 1
  1823.     }
  1824.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1825.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1826.         prop Label :: "comment"
  1827.         prop JSName :: "comment"
  1828.         prop Visible :: 1
  1829.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1830.         prop NoGen :: 1
  1831.     }
  1832.     inst iIsUsed :: 0 { 
  1833.         prop Visible :: 0
  1834.         prop Writable :: 0
  1835.         prop NoGen :: 1
  1836.     }
  1837.     inst iId :: 0 { 
  1838.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1839.         prop Style :: 0x01
  1840.         prop Visible :: 0
  1841.         prop Writable :: 1
  1842.         prop NoGen :: 1
  1843.     }
  1844.     inst iDelUser :: "USER" { 
  1845.         prop Visible :: 0
  1846.         prop Writable :: 0
  1847.         prop NoGen :: 1
  1848.     }
  1849.     inst iDelMsg :: "ok" { 
  1850.         prop Visible :: 0
  1851.         prop Writable :: 0
  1852.         prop NoGen :: 1
  1853.     }
  1854. }
  1855. type UDEV {
  1856.     isa ObjectMgr
  1857.     prop name :: "UDEV"
  1858.     prop Label :: "User-Defined Devices"
  1859.     prop IsContainedIn :: SIODRIVER
  1860.     prop GlobalIcon :: 127
  1861.     prop InstanceIcon :: 128
  1862.     prop GlobalHelpTopic :: (315)
  1863.     prop InstanceHelpTopic :: (415)
  1864.     prop InstancePropertyPage :: ("{7AE86AA0-35C0-11d1-988B-0020AFEE33C6}")
  1865.     prop GlobalPropertyPage :: ("{7AE86AA1-35C0-11d1-988B-0020AFEE33C6}")
  1866.     prop maxObjs :: (32767)
  1867.     prop isDriver :: (1)
  1868.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  1869.     prop _globalAllocDesc :: ("%8t .udev: {}")
  1870.     prop _placement :: (0x7fffffff / 2)
  1871.     prop _memSeg :: MEM.CFGOBJSEG
  1872.     prop _driverType :: (if self.fxnTableType == "DEV_Fxns" {"DEV_SIOTYPE"} else {"DEV_IOMTYPE"})
  1873.     global gUser :: "USER" { 
  1874.         prop Visible :: 0
  1875.         prop Writable :: 0
  1876.         prop NoGen :: 1
  1877.     }
  1878.     global gSetOf :: 0 { 
  1879.         prop Visible :: 0
  1880.         prop Writable :: 0
  1881.         prop NoGen :: 1
  1882.     }
  1883.     global gNumOf :: 3 { 
  1884.         prop Visible :: 0
  1885.         prop Writable :: 0
  1886.         prop NoGen :: 1
  1887.     }
  1888.     global gDirty :: 1 { 
  1889.         prop Visible :: 0
  1890.         prop Writable :: 0
  1891.         prop NoGen :: 1
  1892.     }
  1893.     global gInitFlag :: 1 { 
  1894.         prop Visible :: 0
  1895.         prop Writable :: 0
  1896.         prop NoGen :: 1
  1897.     }
  1898.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  1899.         prop Visible :: 0
  1900.         prop Writable :: 0
  1901.         prop NoGen :: 1
  1902.     }
  1903.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  1904.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  1905.         prop Label :: "comment"
  1906.         prop JSName :: "comment"
  1907.         prop Visible :: 1
  1908.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  1909.         prop NoGen :: 1
  1910.     }
  1911.     inst iIsUsed :: 0 { 
  1912.         prop Visible :: 0
  1913.         prop Writable :: 0
  1914.         prop NoGen :: 1
  1915.     }
  1916.     inst iId :: 0 { 
  1917.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  1918.         prop Style :: 0x01
  1919.         prop Visible :: 0
  1920.         prop Writable :: 1
  1921.         prop NoGen :: 1
  1922.     }
  1923.     inst iDelUser :: "USER" { 
  1924.         prop Visible :: 0
  1925.         prop Writable :: 0
  1926.         prop NoGen :: 1
  1927.     }
  1928.     inst iDelMsg :: "ok" { 
  1929.         prop Visible :: 0
  1930.         prop Writable :: 0
  1931.         prop NoGen :: 1
  1932.     }
  1933.     inst iInit :: 0 { 
  1934.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1935.         prop Label :: "init function"
  1936.         prop JSName :: "initFxn"
  1937.         prop Visible :: 1
  1938.         prop Writable :: 1
  1939.         prop NoGen :: 1
  1940.         prop Set :: (self.iInit = $1, self.initFxn = self.iInit, "ok")
  1941.     }
  1942.     inst iFxns :: 0 { 
  1943.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1944.         prop Label :: "function table ptr"
  1945.         prop JSName :: "fxnTable"
  1946.         prop Visible :: 1
  1947.         prop Writable :: 1
  1948.     }
  1949.     inst fxnTableType :: "DEV_Fxns" { 
  1950.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1951.         prop Enum :: "DEV_Fxns,IOM_Fxns"
  1952.         prop Label :: "function table type"
  1953.         prop JSName :: "fxnTableType"
  1954.         prop Visible :: 1
  1955.         prop Writable :: 1
  1956.         prop NoGen :: 1
  1957.     }
  1958.     inst driverType :: = self._driverType { 
  1959.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  1960.         prop Enum :: "DEV_SIOTYPE,DEV_IOMTYPE"
  1961.         prop Visible :: 0
  1962.     }
  1963.     inst iDevId :: 0 { 
  1964.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1965.         prop Label :: "device id"
  1966.         prop JSName :: "deviceId"
  1967.         prop Visible :: 1
  1968.         prop Writable :: 1
  1969.         prop NoGen :: 1
  1970.         prop Set :: (self.iDevId = $1, self.deviceId = self.iDevId, "ok")
  1971.     }
  1972.     inst iParams :: 0 { 
  1973.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1974.         prop Label :: "device params ptr"
  1975.         prop JSName :: "params"
  1976.         prop Visible :: 1
  1977.         prop Writable :: 1
  1978.     }
  1979.     inst deviceId :: 0 { 
  1980.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1981.         prop JSName :: ""
  1982.         prop Visible :: 0
  1983.     }
  1984.     inst initFxn :: 0 { 
  1985.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1986.         prop JSName :: ""
  1987.         prop Visible :: 0
  1988.     }
  1989.     inst iIsStacking :: 0 { 
  1990.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  1991.         prop Label :: "Stacking Device"
  1992.         prop JSName :: "stackingDevice"
  1993.         prop Visible :: 0
  1994.         prop Writable :: 1
  1995.         prop NoGen :: 1
  1996.     }
  1997.     inst deviceGlobalDataPtr :: 0 { 
  1998.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  1999.         prop Label :: "device global data ptr"
  2000.         prop JSName :: "deviceGlobalDataPtr"
  2001.         prop Visible :: 1
  2002.         prop Writable :: self.fxnTableType == "IOM_Fxns"
  2003.     }
  2004.     inst iIsTerminal :: = if self.fxnTableType == "DEV_Fxns" {1} else {0} { 
  2005.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2006.         prop NoGen :: 1
  2007.     }
  2008.     inst iIsVirtual :: 0 { 
  2009.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2010.         prop NoGen :: 1
  2011.     }
  2012. }
  2013. type DGN {
  2014.     isa ObjectMgr
  2015.     prop name :: "DGN"
  2016.     prop Label :: "DGN - Software Generator Driver"
  2017.     prop IsContainedIn :: SIODRIVER
  2018.     prop GlobalIcon :: 127
  2019.     prop InstanceIcon :: 128
  2020.     prop GlobalHelpTopic :: (302)
  2021.     prop InstanceHelpTopic :: (402)
  2022.     prop InstancePropertyPage :: ("{054FE166-B014-11d0-9885-0020AFEE33C6}")
  2023.     prop GlobalPropertyPage :: ("{054FE167-B014-11d0-9885-0020AFEE33C6}")
  2024.     prop DependsOn :: "DEV"
  2025.     prop maxObjs :: (32767)
  2026.     prop isDriver :: (1)
  2027.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  2028.     prop _globalAllocDesc :: ("%8t .dgn: {}")
  2029.     prop _placement :: (0x7fffffff / 2)
  2030.     prop _memSeg :: MEM.CFGOBJSEG
  2031.     global gUser :: "USER" { 
  2032.         prop Visible :: 0
  2033.         prop Writable :: 0
  2034.         prop NoGen :: 1
  2035.     }
  2036.     global gSetOf :: 0 { 
  2037.         prop Visible :: 0
  2038.         prop Writable :: 0
  2039.         prop NoGen :: 1
  2040.     }
  2041.     global gNumOf :: 0 { 
  2042.         prop Visible :: 0
  2043.         prop Writable :: 0
  2044.         prop NoGen :: 1
  2045.     }
  2046.     global gDirty :: 0 { 
  2047.         prop Visible :: 0
  2048.         prop Writable :: 0
  2049.         prop NoGen :: 1
  2050.     }
  2051.     global gInitFlag :: 1 { 
  2052.         prop Visible :: 0
  2053.         prop Writable :: 0
  2054.         prop NoGen :: 1
  2055.     }
  2056.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  2057.         prop Visible :: 0
  2058.         prop Writable :: 0
  2059.         prop NoGen :: 1
  2060.     }
  2061.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2062.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2063.         prop Label :: "comment"
  2064.         prop JSName :: "comment"
  2065.         prop Visible :: 1
  2066.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2067.         prop NoGen :: 1
  2068.     }
  2069.     inst iIsUsed :: 0 { 
  2070.         prop Visible :: 0
  2071.         prop Writable :: 0
  2072.         prop NoGen :: 1
  2073.     }
  2074.     inst iId :: 0 { 
  2075.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2076.         prop Style :: 0x01
  2077.         prop Visible :: 0
  2078.         prop Writable :: 1
  2079.         prop NoGen :: 1
  2080.     }
  2081.     inst iDelUser :: "USER" { 
  2082.         prop Visible :: 0
  2083.         prop Writable :: 0
  2084.         prop NoGen :: 1
  2085.     }
  2086.     inst iDelMsg :: "ok" { 
  2087.         prop Visible :: 0
  2088.         prop Writable :: 0
  2089.         prop NoGen :: 1
  2090.     }
  2091.     inst iDevice :: "user" { 
  2092.         prop Type :: "{21455EA1-B96A-11cf-9BFE-0000C0AC14C7}"
  2093.         prop Enum :: if GBL.DSPARITHMETIC == "FLOAT" {"user,sine,random,constant,printFloat,printHex,printInt"} else {"user,sine,random,constant,printHex,printInt"}
  2094.         prop Label :: "Device category"
  2095.         prop JSName :: "device"
  2096.         prop Visible :: 1
  2097.         prop Writable :: 1
  2098.         prop NoGen :: 1
  2099.         prop Set :: ($a = $1, if ($a != self.iDevice) {self.iDevice = $a, self.iUserFxn = @_FXN_F_nop} , if ($a == "user") {self.iUserFxn = self.iSaveUserFxn} , if ($a == "printFloat") {self.iUserFxn = @_DGN_printFloat} , if ($a == "printHex") {self.iUserFxn = @_DGN_printHex} , if ($a == "printInt") {self.iUserFxn = @_DGN_printInt} , "ok")
  2100.     }
  2101.     inst iUseDefaults :: 0 { 
  2102.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2103.         prop Label :: "Use default parameters"
  2104.         prop Visible :: 1
  2105.         prop JSName :: "useDefaultParam"
  2106.         prop Writable :: self.iDevice == "sine" || self.iDevice == "constant" || self.iDevice == "random" || self.iDevice == "user"
  2107.     }
  2108.     inst iDevId :: = if self.iDevice == "constant" {@DGN_CONST} else {if self.iDevice == "random" {@DGN_RAND} else {if self.iDevice == "sine" {@DGN_SINE} else {@DGN_USER}}} { 
  2109.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  2110.         prop Label :: "Device ID"
  2111.         prop JSName :: "deviceId"
  2112.         prop Visible :: 1
  2113.         prop Writable :: 0
  2114.     }
  2115.     inst iIsTerminal :: 1 { 
  2116.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2117.         prop NoGen :: 1
  2118.     }
  2119.     inst iIsVirtual :: 0 { 
  2120.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2121.         prop NoGen :: 1
  2122.     }
  2123.     inst iConstant :: if GBL.DSPARITHMETIC == "FIXED" {1} else {1.0} { 
  2124.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2125.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2126.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2127.         prop Label :: "Constant value"
  2128.         prop JSName :: "constant"
  2129.         prop Visible :: 1
  2130.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "constant" || self.iDevice == "user")
  2131.     }
  2132.     inst iRandSeed :: 1 { 
  2133.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2134.         prop Label :: "Seed value"
  2135.         prop JSName :: "seedValue"
  2136.         prop Visible :: 1
  2137.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "random" || self.iDevice == "user")
  2138.     }
  2139.     inst iRandLower :: if GBL.DSPARITHMETIC == "FIXED" {-32767} else {0.0} { 
  2140.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2141.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2142.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2143.         prop Label :: "Lower limit"
  2144.         prop JSName :: "lowerLimit"
  2145.         prop Visible :: 1
  2146.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "random" || self.iDevice == "user")
  2147.     }
  2148.     inst iRandUpper :: if GBL.DSPARITHMETIC == "FIXED" {32767} else {1.0} { 
  2149.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2150.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2151.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2152.         prop Label :: "Upper limit"
  2153.         prop JSName :: "upperLimit"
  2154.         prop Visible :: 1
  2155.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "random" || self.iDevice == "user")
  2156.     }
  2157.     inst iSineGain :: if GBL.DSPARITHMETIC == "FIXED" {32767} else {1.0} { 
  2158.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2159.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2160.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2161.         prop Label :: "Gain"
  2162.         prop JSName :: "gain"
  2163.         prop Visible :: 1
  2164.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2165.     }
  2166.     inst iSineFreq :: if GBL.DSPARITHMETIC == "FIXED" {1} else {1000.0} { 
  2167.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2168.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2169.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2170.         prop Label :: "Frequency (Hz)"
  2171.         prop JSName :: "frequency"
  2172.         prop Visible :: 1
  2173.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2174.     }
  2175.     inst iSinePhase :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0.0} { 
  2176.         prop Type :: "{3EE4CB80-E273-11d0-BB8F-0000C008F2E9}"
  2177.         prop Style :: if GBL.DSPARITHMETIC == "FIXED" {0} else {0x04}
  2178.         prop Format :: if GBL.DSPARITHMETIC == "FIXED" {"%d"} else {"%f"}
  2179.         prop Label :: "Phase (radians)"
  2180.         prop JSName :: "phase"
  2181.         prop Visible :: 1
  2182.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2183.     }
  2184.     inst iSineRate :: if GBL.DSPARITHMETIC == "FIXED" {256} else {44000} { 
  2185.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2186.         prop Label :: "Sample rate (samples/sec)"
  2187.         prop JSName :: "rate"
  2188.         prop Visible :: 1
  2189.         prop Writable :: self.iUseDefaults == 0 && (self.iDevice == "sine" || self.iDevice == "user")
  2190.     }
  2191.     inst iUserFxn :: if self.iDevice == "printFloat" {@_DGN_printFloat} else {if self.iDevice == "printHex" {@_DGN_printHex} else {if self.iDevice == "printInt" {@_DGN_printInt} else {@_FXN_F_nop}}} { 
  2192.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2193.         prop Label :: "User function"
  2194.         prop JSName :: "fxn"
  2195.         prop Visible :: 1
  2196.         prop Writable :: self.iDevice == "user"
  2197.         prop Set :: (self.iUserFxn = $1, self.iSaveUserFxn = self.iUserFxn, "ok")
  2198.     }
  2199.     inst iSaveUserFxn :: @_FXN_F_nop { 
  2200.         prop Visible :: 0
  2201.         prop Writable :: 0
  2202.         prop NoGen :: 1
  2203.     }
  2204.     inst iUserArg :: = 0 { 
  2205.         prop Type :: "{7C434D01-1629-11d0-9BFE-0000C0AC14C7}"
  2206.         prop Label :: "User function argument"
  2207.         prop JSName :: "arg"
  2208.         prop Visible :: 1
  2209.         prop Writable :: self.iDevice == "user"
  2210.     }
  2211.     inst iFxns :: @_DGN_FXNS { 
  2212.         prop NoGen :: 1
  2213.     }
  2214. }
  2215. type DHL {
  2216.     isa ObjectMgr
  2217.     prop name :: "DHL"
  2218.     prop Label :: "DHL - Host Link Driver"
  2219.     prop IsContainedIn :: SIODRIVER
  2220.     prop GlobalHelpTopic :: (303)
  2221.     prop InstanceHelpTopic :: (403)
  2222.     prop InstancePropertyPage :: ("{9C29DA20-90F9-11d1-988B-0020AFEE33C6}")
  2223.     prop GlobalPropertyPage :: ("{9C29DA21-90F9-11d1-988B-0020AFEE33C6}")
  2224.     prop GlobalIcon :: 127
  2225.     prop InstanceIcon :: 128
  2226.     prop DependsOn :: "DEV"
  2227.     prop Visible :: 1
  2228.     prop isDriver :: 1
  2229.     prop dataSize :: (7 + 11 * DHL.gNumOf * (GBL.DSPWORDSIZE / GBL.DSPCHARSIZE))
  2230.     prop localCanCreate :: (if (self.gChannelsAvailable > 0) {"ok"} else {self.warning("No HST channels are available for a new DHL device.")})
  2231.     prop localCreate :: (self.gChannelsAvailable--, self.seizeHSTChannel(self.iHSTChannel), "ok")
  2232.     prop seizeHSTChannel :: ($1.iDelUser = "DHL", $1.iDHLAvailable = 0, $1.notify = @_DHL_notify, $1.arg0 = $1.iId, "ok")
  2233.     prop localDelete :: (self.gChannelsAvailable++, self.releaseHSTChannel(self.iHSTChannel), "ok")
  2234.     prop releaseHSTChannel :: ($1.iDelUser = "USER", $1.iDHLAvailable = 1, $1.notify = @_FXN_F_nop, $1.arg0 = 0, "ok")
  2235.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  2236.     prop _globalAllocDesc :: "%8t .dhl: {}"
  2237.     prop _memSeg :: self.OBJMEMSEG
  2238.     prop _placement :: (0x7fffffff / 2)
  2239.     global gUser :: "USER" { 
  2240.         prop Visible :: 0
  2241.         prop Writable :: 0
  2242.         prop NoGen :: 1
  2243.     }
  2244.     global gSetOf :: 0 { 
  2245.         prop Visible :: 0
  2246.         prop Writable :: 0
  2247.         prop NoGen :: 1
  2248.     }
  2249.     global gNumOf :: 0 { 
  2250.         prop Visible :: 0
  2251.         prop Writable :: 0
  2252.         prop NoGen :: 1
  2253.     }
  2254.     global gDirty :: 0 { 
  2255.         prop Visible :: 0
  2256.         prop Writable :: 0
  2257.         prop NoGen :: 1
  2258.     }
  2259.     global gInitFlag :: 1 { 
  2260.         prop Visible :: 0
  2261.         prop Writable :: 0
  2262.         prop NoGen :: 1
  2263.     }
  2264.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  2265.         prop Visible :: 0
  2266.         prop Writable :: 0
  2267.         prop NoGen :: 1
  2268.     }
  2269.     global gChannelsAvailable :: 0
  2270.     global OBJMEMSEG :: SDRAM { 
  2271.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  2272.         prop MemberType :: MEM
  2273.         prop MemberTest :: MEM.dataMember($1)
  2274.         prop Label :: "Object Memory"
  2275.         prop JSName :: "OBJMEMSEG"
  2276.         prop Visible :: 1
  2277.         prop Writable :: 1
  2278.         prop NoGen :: 1
  2279.     }
  2280.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2281.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2282.         prop Label :: "comment"
  2283.         prop JSName :: "comment"
  2284.         prop Visible :: 1
  2285.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2286.         prop NoGen :: 1
  2287.     }
  2288.     inst iIsUsed :: 0 { 
  2289.         prop Visible :: 0
  2290.         prop Writable :: 0
  2291.         prop NoGen :: 1
  2292.     }
  2293.     inst iId :: 0 { 
  2294.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2295.         prop Style :: 0x01
  2296.         prop Visible :: 0
  2297.         prop Writable :: 1
  2298.         prop NoGen :: 1
  2299.     }
  2300.     inst iDelUser :: "USER" { 
  2301.         prop Visible :: 0
  2302.         prop Writable :: 0
  2303.         prop NoGen :: 1
  2304.     }
  2305.     inst iDelMsg :: "ok" { 
  2306.         prop Visible :: 0
  2307.         prop Writable :: 0
  2308.         prop NoGen :: 1
  2309.     }
  2310.     inst iHSTChannel :: (scan ($i; HST) {if ($i.iDHLAvailable == 1) {$a = $i} }, $a) { 
  2311.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  2312.         prop Label :: "Underlying HST Channel"
  2313.         prop JSName :: "hstChannel"
  2314.         prop MemberType :: HST
  2315.         prop MemberTest :: (if (($1.iDHLAvailable == 1) || ($1 == self.iHSTChannel)) {1} else {0})
  2316.         prop Set :: (if ($1.iDHLAvailable != 1) {self.error("This channel is already in use.")} else {self.releaseHSTChannel(self.iHSTChannel), self.seizeHSTChannel($1), self.iHSTChannel = $1, "ok"})
  2317.         prop Visible :: 1
  2318.         prop Writable :: 1
  2319.         prop NoGen :: 0
  2320.     }
  2321.     inst iMode :: = self.iHSTChannel.mode { 
  2322.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2323.         prop Label :: "Mode"
  2324.         prop JSName :: "mode"
  2325.         prop Visible :: 1
  2326.         prop Writable :: 0
  2327.         prop NoGen :: 0
  2328.     }
  2329.     inst iDevId :: = (self.iHSTChannel.iId) { 
  2330.         prop NoGen :: 0
  2331.     }
  2332.     inst iIsTerminal :: 1 { 
  2333.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2334.         prop NoGen :: 1
  2335.     }
  2336.     inst iIsVirtual :: 0 { 
  2337.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2338.         prop NoGen :: 1
  2339.     }
  2340.     inst iFxns :: @_DHL_FXNS { 
  2341.         prop NoGen :: 1
  2342.     }
  2343. }
  2344. type DPI {
  2345.     isa ObjectMgr
  2346.     prop name :: "DPI"
  2347.     prop Label :: "DPI - Pipe Driver"
  2348.     prop IsContainedIn :: SIODRIVER
  2349.     prop GlobalIcon :: 127
  2350.     prop InstanceIcon :: 128
  2351.     prop GlobalHelpTopic :: (304)
  2352.     prop InstanceHelpTopic :: (404)
  2353.     prop InstancePropertyPage :: ("{7FE06FA0-2DE9-11d1-988B-0020AFEE33C6}")
  2354.     prop GlobalPropertyPage :: ("{7FE06FA1-2DE9-11d1-988B-0020AFEE33C6}")
  2355.     prop DependsOn :: "DEV"
  2356.     prop maxObjs :: (32767)
  2357.     prop isDriver :: (1)
  2358.     prop localCreate :: (self.gCurDevId += 1, "ok")
  2359.     global gUser :: "USER" { 
  2360.         prop Visible :: 0
  2361.         prop Writable :: 0
  2362.         prop NoGen :: 1
  2363.     }
  2364.     global gSetOf :: 0 { 
  2365.         prop Visible :: 0
  2366.         prop Writable :: 0
  2367.         prop NoGen :: 1
  2368.     }
  2369.     global gNumOf :: 0 { 
  2370.         prop Visible :: 0
  2371.         prop Writable :: 0
  2372.         prop NoGen :: 1
  2373.     }
  2374.     global gDirty :: 0 { 
  2375.         prop Visible :: 0
  2376.         prop Writable :: 0
  2377.         prop NoGen :: 1
  2378.     }
  2379.     global gInitFlag :: 1 { 
  2380.         prop Visible :: 0
  2381.         prop Writable :: 0
  2382.         prop NoGen :: 1
  2383.     }
  2384.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  2385.         prop Visible :: 0
  2386.         prop Writable :: 0
  2387.         prop NoGen :: 1
  2388.     }
  2389.     global gCurDevId :: 0 { 
  2390.         prop Visible :: 0
  2391.         prop Writable :: 0
  2392.         prop NoGen :: 1
  2393.     }
  2394.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2395.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2396.         prop Label :: "comment"
  2397.         prop JSName :: "comment"
  2398.         prop Visible :: 1
  2399.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2400.         prop NoGen :: 1
  2401.     }
  2402.     inst iIsUsed :: 0 { 
  2403.         prop Visible :: 0
  2404.         prop Writable :: 0
  2405.         prop NoGen :: 1
  2406.     }
  2407.     inst iId :: 0 { 
  2408.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2409.         prop Style :: 0x01
  2410.         prop Visible :: 0
  2411.         prop Writable :: 1
  2412.         prop NoGen :: 1
  2413.     }
  2414.     inst iDelUser :: "USER" { 
  2415.         prop Visible :: 0
  2416.         prop Writable :: 0
  2417.         prop NoGen :: 1
  2418.     }
  2419.     inst iDelMsg :: "ok" { 
  2420.         prop Visible :: 0
  2421.         prop Writable :: 0
  2422.         prop NoGen :: 1
  2423.     }
  2424.     inst iDevId :: DPI.gCurDevId { 
  2425.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2426.         prop Visible :: 0
  2427.         prop Writable :: 0
  2428.         prop Set :: (self.error("DPI.iDevId parameter no longer settable, it is now handled automatically"))
  2429.     }
  2430.     inst iIsVirtual :: 0 { 
  2431.         prop Label :: "Allow virtual instances of this device."
  2432.         prop JSName :: "allowVirtual"
  2433.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2434.         prop Visible :: 1
  2435.         prop Writable :: 1
  2436.         prop NoGen :: 0
  2437.         prop Set :: (if ($1 == 1) {$a = "ok", $b = 1, scan ($i; SIO) {if ($i.iDevice == self) {$a = self.error("This DPI instance is being used by one or more SIO instances, cannot reconfigure"), $b = 0} }, if ($b == 1) {self.iIsVirtual = 1} , $a} else {self.iIsVirtual = 0, "ok"})
  2438.     }
  2439.     inst iIsTerminal :: 1 { 
  2440.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2441.         prop NoGen :: 1
  2442.     }
  2443.     inst iFxns :: @_DPI_FXNS { 
  2444.         prop NoGen :: 1
  2445.     }
  2446. }
  2447. type HOOK {
  2448.     isa ObjectMgr
  2449.     prop name :: "HOOK"
  2450.     prop Label :: "HOOK - Module Hook Manager"
  2451.     prop IsContainedIn :: SYSTEM
  2452.     prop DependsOn :: "SWI"
  2453.     prop InstancePropertyPage :: ("{473C4A64-B1A8-11d0-9885-0020AFEE33C6}")
  2454.     prop GlobalIcon :: 181
  2455.     prop InstanceIcon :: 182
  2456.     prop GlobalHelpTopic :: (318)
  2457.     prop InstanceHelpTopic :: (418)
  2458.     prop localCreate :: (if (self.gNumOf == 0) {HOOK_KNL.iIsUsed = 1, self.mkId(0)} , "ok")
  2459.     prop localDelete :: (if (self.gNumOf == 2) {HOOK_KNL.iIsUsed = 0, self.rmId} , "ok")
  2460.     prop maxObjs :: (32767)
  2461.     prop SortByField :: "iPri"
  2462.     prop SortGroups :: 1
  2463.     global gUser :: "USER" { 
  2464.         prop Visible :: 0
  2465.         prop Writable :: 0
  2466.         prop NoGen :: 1
  2467.     }
  2468.     global gSetOf :: 0 { 
  2469.         prop Visible :: 0
  2470.         prop Writable :: 0
  2471.         prop NoGen :: 1
  2472.     }
  2473.     global gNumOf :: 0 { 
  2474.         prop Visible :: 0
  2475.         prop Writable :: 0
  2476.         prop NoGen :: 1
  2477.     }
  2478.     global gDirty :: 0 { 
  2479.         prop Visible :: 0
  2480.         prop Writable :: 0
  2481.         prop NoGen :: 1
  2482.     }
  2483.     global gInitFlag :: 1 { 
  2484.         prop Visible :: 0
  2485.         prop Writable :: 0
  2486.         prop NoGen :: 1
  2487.     }
  2488.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  2489.         prop Visible :: 0
  2490.         prop Writable :: 0
  2491.         prop NoGen :: 1
  2492.     }
  2493.     global KNLID :: = (HOOK_KNL.Order - 1) { 
  2494.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2495.     }
  2496.     inst iComment :: if self.iDelUser == "USER" {"<add comments here>"} else {self.iDelMsg} { 
  2497.         prop Type :: "{21455EA3-B96A-11cf-9BFE-0000C0AC14C7}"
  2498.         prop Label :: "comment"
  2499.         prop JSName :: "comment"
  2500.         prop Visible :: 1
  2501.         prop Writable :: if self.iDelUser == "USER" {1} else {0}
  2502.         prop NoGen :: 1
  2503.     }
  2504.     inst iIsUsed :: 0 { 
  2505.         prop Visible :: 0
  2506.         prop Writable :: 0
  2507.         prop NoGen :: 1
  2508.     }
  2509.     inst iId :: 0 { 
  2510.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2511.         prop Style :: 0x01
  2512.         prop Visible :: 0
  2513.         prop Writable :: 1
  2514.         prop NoGen :: 1
  2515.     }
  2516.     inst iDelUser :: "USER" { 
  2517.         prop Visible :: 0
  2518.         prop Writable :: 0
  2519.         prop NoGen :: 1
  2520.     }
  2521.     inst iDelMsg :: "ok" { 
  2522.         prop Visible :: 0
  2523.         prop Writable :: 0
  2524.         prop NoGen :: 1
  2525.     }
  2526.     inst initFxn :: @_FXN_F_nop { 
  2527.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2528.         prop Label :: "Initialization function"
  2529.         prop JSName :: "initFxn"
  2530.         prop Visible :: 1
  2531.         prop Writable :: 1
  2532.     }
  2533.     inst createFxn :: @_FXN_F_nop { 
  2534.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2535.         prop Label :: "Create function"
  2536.         prop JSName :: "createFxn"
  2537.         prop Visible :: 1
  2538.         prop Writable :: self.iDelUser == "USER"
  2539.     }
  2540.     inst deleteFxn :: @_FXN_F_nop { 
  2541.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2542.         prop Label :: "Delete function"
  2543.         prop JSName :: "deleteFxn"
  2544.         prop Visible :: 1
  2545.         prop Writable :: self.iDelUser == "USER"
  2546.     }
  2547.     inst exitFxn :: @_FXN_F_nop { 
  2548.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2549.         prop Label :: "Exit function"
  2550.         prop JSName :: "exitFxn"
  2551.         prop Visible :: 1
  2552.         prop Writable :: self.iDelUser == "USER"
  2553.     }
  2554.     inst callSwitchFxn :: 0 { 
  2555.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2556.         prop Label :: "Call switch function"
  2557.         prop JSName :: "callSwitchFxn"
  2558.         prop Visible :: 1
  2559.         prop Writable :: self.iDelUser == "USER"
  2560.     }
  2561.     inst switchFxn :: @_FXN_F_nop { 
  2562.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2563.         prop Label :: "Switch function"
  2564.         prop JSName :: "switchFxn"
  2565.         prop Visible :: 1
  2566.         prop Writable :: self.callSwitchFxn
  2567.     }
  2568.     inst callReadyFxn :: 0 { 
  2569.         prop Type :: "{21455EA0-B96A-11cf-9BFE-0000C0AC14C7}"
  2570.         prop Label :: "Call ready function"
  2571.         prop JSName :: "callReadyFxn"
  2572.         prop Visible :: 1
  2573.         prop Writable :: self.iDelUser == "USER"
  2574.     }
  2575.     inst readyFxn :: @_FXN_F_nop { 
  2576.         prop Type :: "{7C434D00-1629-11d0-9BFE-0000C0AC14C7}"
  2577.         prop Label :: "Ready function"
  2578.         prop JSName :: "readyFxn"
  2579.         prop Visible :: 1
  2580.         prop Writable :: self.callReadyFxn
  2581.     }
  2582.     inst Order :: 2 { 
  2583.         prop Type :: "{21455EA2-B96A-11cf-9BFE-0000C0AC14C7}"
  2584.         prop JSName :: "order"
  2585.         prop NoGen :: 1
  2586.         prop Writable :: 1
  2587.     }
  2588.     inst iPri :: 0 { 
  2589.         prop Type :: "{A11FE980-C07A-11cf-9BFE-0000C0AC14C7}"
  2590.         prop Visible :: 0
  2591.         prop NoGen :: 1
  2592.     }
  2593. }
  2594. object HOOK_KNL :: HOOK {
  2595.     param iComment :: "Used to support TSK function hooks (cannot be deleted)"
  2596.     param iIsUsed :: 0
  2597.     param iId :: 0
  2598.     param iDelUser :: "HOOK"
  2599.     param iDelMsg :: "This hook instance is used by TSK and cannot be deleted"
  2600.     param initFxn :: @_FXN_F_nop
  2601.     param createFxn :: @_FXN_F_nop
  2602.     param deleteFxn :: @_FXN_F_nop
  2603.     param exitFxn :: @_FXN_F_nop
  2604.     param callSwitchFxn :: 0
  2605.     param switchFxn :: @_FXN_F_nop
  2606.     param callReadyFxn :: 0
  2607.     param readyFxn :: @_FXN_F_nop
  2608.     param Order :: 1
  2609.     param iPri :: 0
  2610. }
  2611. type DIO {
  2612.     isa ObjectMgr
  2613.     prop Visible :: 1
  2614.     prop Label :: "DIO - Class Driver"
  2615.     prop name :: "DIO"
  2616.     prop IsContainedIn :: SIODRIVER
  2617.     prop GlobalIcon :: 127
  2618.     prop InstanceIcon :: 127
  2619.     prop GlobalHelpTopic :: (319)
  2620.     prop InstanceHelpTopic :: (419)
  2621.     prop InstancePropertyPage :: ("{f80273c0-3838-11d2-a32c-006097656921}")
  2622.     prop GlobalPropertyPage :: ("{050a0600-3839-11d2-a32c-006097656921}")
  2623.     prop maxObjs :: (32767)
  2624.     prop AllocType :: (if (self.gNumOf > 0) {"1, _globalAllocDesc, _memSeg, _placement"} )
  2625.     prop _globalAllocDesc :: ("%8t .dio: {}")
  2626.     prop _placement :: (0x7fffffff / 2)
  2627.     prop _memSeg :: self.OBJMEMSEG
  2628.     prop isDriver :: (1)
  2629.     prop mdObject :: ($h = nil, $j = nil, scan ($h; UDEV) {if ($h.driverType == "DEV_IOMTYPE") {$j = $h, break} }, $j)
  2630.     prop localCanCreate :: (if (self.mdObject == nil) {self.error("An IOM type device must be created first.")} else {"ok"})
  2631.     prop numTsk :: ($a = 0, $h = nil, scan ($h; DIO) {if ($h.useCallBackFxn == 0) {$a = $a + $h.numTimeUse} }, $a)
  2632.     prop numSwi :: ($a = 0, $h = nil, scan ($h; DIO) {if ($h.useCallBackFxn == 1) {$a = $a + $h.numTimeUse} }, $a)
  2633.     prop functionTablePtr :: (if (self.STATIC) {if (self.useCallBackFxn) {@_DIO_cbStaticFxns} else {@_DIO_tskStaticFxns}} else {if (self.useCallBackFxn) {@_DIO_cbDynamicFxns} else {@_DIO_tskDynamicFxns}})
  2634.     global gUser :: "USER" { 
  2635.         prop Visible :: 0
  2636.         prop Writable :: 0
  2637.         prop NoGen :: 1
  2638.     }
  2639.     global gSetOf :: 0 { 
  2640.         prop Visible :: 0
  2641.         prop Writable :: 0
  2642.         prop NoGen :: 1
  2643.     }
  2644.     global gNumOf :: 0 { 
  2645.         prop Visible :: 0
  2646.         prop Writable :: 0
  2647.         prop NoGen :: 1
  2648.     }
  2649.     global gDirty :: 0 { 
  2650.         prop Visible :: 0
  2651.         prop Writable :: 0
  2652.         prop NoGen :: 1
  2653.     }
  2654.     global gInitFlag :: 1 { 
  2655.         prop Visible :: 0
  2656.         prop Writable :: 0
  2657.         prop NoGen :: 1
  2658.     }
  2659.     global gInit :: = ($a = 0, $b = 0, scan ($i; self) {if ($i.IsConfObj()) {$a += 1, if (self.isFinite) {$b |= 1 << $i.iId} } }, self.gNumOf = $a, self.gSetOf = $b, if (self.gInitFlag == 0) {self.localInit()} , self.gInitFlag = 1) { 
  2660.         prop Visible :: 0
  2661.         prop Writable :: 0
  2662.         prop NoGen :: 1
  2663.     }
  2664.     global OBJMEMSEG :: SDRAM { 
  2665.         prop Type :: "{7BA2DA00-5A53-11d0-9BFE-0000C0AC14C7}"
  2666.         prop MemberType :: MEM
  2667.         prop MemberTest :: MEM.dataMember($1)