Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Other DOS - <b> bcb - batch control block (undocumented)</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
                  BCB - Batch Control Block (undocumented)

                      DOS 2.x thru DOS 3.2  BCB Format

      Offset Size                Description

        00   byte       unknown
        01   word       if non-zero; segment of control block for active FOR
        03   byte       type of batch command
                            0 - normal batch command
                            1 - FOR-loop active
        04   dword      offset of next command to execute in batch file
        07   word       offset of variable %0 (batch file name)
        09  9 words     offset of %N batch file parameters, 0FFFFh indicates
                        parameter is null
        1C   nbytes     null terminated path and filename of the current
                        batch file immediately followed by command line
                        parameters.  Each parameter %0-%9 plus a CR is
                        appended and resulting string is null terminated.


                            DOS 3.3  BCB Format

      Offset Size                Description

        00   byte       unknown
        01   byte       global echo switch, if exec'd by batch CALL-command
                            1 - turn ECHO ON on return to calling batch file
                            0 - turn ECHO OFF on return to calling batch file
        02   word       batch file BCD segment if executed via CALL
                            if zero; batch file was called from command line
                            if non-zero; batch file executed via CALL-command
        04   word       if non-zero; segment of control block for active FOR
        06   byte       type of batch command
                            0 - normal batch command
                            1 - FOR-loop active
        07   dword      offset of next command to execute in batch file
        0B   word       offset of variable %0 (batch file name)
        0D  9words      offset of %N batch file parameters, 0FFFFh indicates
                        parameter is null
        1F  nbytes      null terminated path and filename of the current
                        batch file immediately followed by command line
                        parameters.  Each parameter %0-%9 plus a CR is
                        appended and resulting string is null terminated.


        - BCB length is variable and depends on the size and count of the
          parameters and fully qualified batch file name
        - the MCB for a BCB has a process Id of the transient portion of
          the latest COMMAND.COM
        - offsets displayed are relative to the BCB segment
        - SHIFT command changes the offsets of the parameters in the table
          at the offsets 0B0h thru 1Ch
        - BCB  of DOS 3.3 is the  same as earlier versions except 3 bytes
          were added after offset 0
        - to find a BCB, locate the first block in the MCB chain belonging
          to COMMAND.COM (the second allocated block always belongs to
          COMMAND.COM).  Then scan the MCB chain for a 64 byte block with
          the same owner ID as COMMAND.COM).  This will be the BCB.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson