.hd ldseg$ "load a SEG runfile into memory " 01/06/83 subroutine ldseg$ (rvec, name, len, code) integer rvec (9), name (ARB), len, code .sp Library: vswtlb (standard Subsystem library) .fs 'Ldseg$' first attempts to open the file 'name' in the current directory, using 'len' as the length of the name. If the open is successful, and the file is a SEG run file of recent (Primos revision 17 or later) origin, 'ldseg$' loads the private segments of the file into memory and sets 'rvec' to the initial save vector of the program. If the load is successful, 'ldseg$' returns a code of 0; otherwise, the Primos error code E$BPAR is returned. .im 'Ldseg$' first opens the segment directory and file 0 in the directory. Using calls to the Primos routine PRWF$$, 'ldseg$' reads and checks the revision flag, segment map, segment bit map, save vector, time vector, and symbol table. Using this information, 'ldseg$' traverses the symbol table, loading initialized chunks of segments with calls to 'chunk$' and zeroing uninitialized segments with calls to 'zmem$'. Completely uninitialized segments remain unmodified. After loading is complete, 'ldseg$' sets the values in 'rvec' and returns with a code of 0. .am rvec, code .ca chunk$, print, zmem$, Primos errpr$, Primos srch$$, Primos prwf$$ .sa call$$ (6)