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

DSP编程

开发平台:

C/C++

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