19.1      Basic information                             536
19.1.1    The BCPL pointer (BPTR)                       536
19.1.2    The BCPL string (BSTR)                        536
19.1.3    DOS boolean                                   537
19.1.4    Odds and ends                                 537
19.1.5    Getting access to AmigaDOS                    537
19.2      For advanced programmers                      537
19.3      Local data structures                         538
19.3.1    DOS memory segments                           538
19.3.2    SegLists                                      538
19.3.2.1  SegLists with resident libraries+             539
19.3.2.2  SegLists with overlays                        539
19.3.3    FileLocks                                     540
19.3.3.1  What is a lock?                               540
19.3.3.2  Why is a lock called a lock?                  540
19.3.3.3  Structure of a lock                           541
19.3.3.4  Comparing two locks                           542
19.3.3.5  The three internal types of locks             542
19.3.4    FileHandles                                   544
19.4      Global data structures                        545
19.4.1    The DosLibrary structure                      545
19.4.2    The RootNode structure                        547
19.4.3    The DosInfo structure                         549
19.4.4    The DOS resident list                         550
19.4.5    Brief summary                                 551
19.4.6    The DosList structure                         551
19.4.7    The jump table of the dos.library             557
19.5      expansion.library, filesystems, and AmigaDOS  558
19.5.1    The FileSysStartupMsg structure               558
19.5.2    The environment vector                        559