Annotation of researchv10dc/dist/man/v4/manx/salloc.3, revision 1.1

1.1     ! root        1: .pa 1
        !             2: .he 'SALLOC (III)'6/15/72'SALLOC (III)'
        !             3: .ti 0
        !             4: .nf
        !             5: NAME           salloc -- string manipulation routines
        !             6: .fi
        !             7: .sp
        !             8: .ti 0
        !             9: .nf
        !            10: SYNOPSIS       (get size in r0)
        !            11: .br
        !            12: jsr    pc,allocate
        !            13: .sp
        !            14: (get source pointer in r0,
        !            15: destination pointer in r1)
        !            16: jsr    pc,copy
        !            17: .sp
        !            18: jsr    pc,wc
        !            19: .sp
        !            20: (all following instructions assume r1 contains pointer)
        !            21: 
        !            22: jsr    pc,release
        !            23: 
        !            24: (get character in r0)
        !            25: jsr    pc,putchar
        !            26: .sp
        !            27: jsr    pc,lookchar
        !            28: (character in r0)
        !            29: 
        !            30: jsr    pc,getchar
        !            31: (character in r0)
        !            32: 
        !            33: (get character in r0)
        !            34: jsr    pc,alterchar
        !            35: 
        !            36: (get position in r0)
        !            37: jsr    pc,seekchar
        !            38: 
        !            39: jsr    pc,backspace
        !            40: (character in r0)
        !            41: 
        !            42: (get word in r0)
        !            43: jsr    pc,putword
        !            44: 
        !            45: jsr    pc,lookword
        !            46: (word in r0)
        !            47: 
        !            48: jsr    pc,getword
        !            49: (word in r0)
        !            50: 
        !            51: (get word in r0)
        !            52: jsr    pc,alterword
        !            53: 
        !            54: jsr    pc,backword
        !            55: (word in r0)
        !            56: 
        !            57: jsr    pc,length
        !            58: (length in r0)
        !            59: 
        !            60: jsr    pc,position
        !            61: (position in r0)
        !            62: 
        !            63: jsr    pc,rewind
        !            64: 
        !            65: jsr    pc,create
        !            66: 
        !            67: jsr    pc,fsfile
        !            68: 
        !            69: jsr    pc,zero
        !            70: 
        !            71: .fi
        !            72: .ti 0
        !            73: DESCRIPTION    This package is a complete set of routines
        !            74: for dealing with almost arbitrary
        !            75: length strings of words and bytes.
        !            76: The strings are stored on a disk file, so the sum of
        !            77: their lengths can be considerably larger than
        !            78: the available core.
        !            79: 
        !            80: For each string there is a header of four words, namely
        !            81: a write pointer, a read pointer and pointers to the beginning and end of
        !            82: the block containing the string.
        !            83: Initially the read and write pointers point to the beginning of the string.
        !            84: All routines that refer to a string require the header address in r1.
        !            85: Unless the string is destroyed by the call,
        !            86: upon return r1 will point to the same string, although
        !            87: the string may have grown to the extent that it had to be
        !            88: be moved.
        !            89: 
        !            90: .ul
        !            91: allocate
        !            92: obtains a string of the requested size and returns
        !            93: a pointer to its header in r1.
        !            94: .sp
        !            95: release_______ releases a string back to free storage.
        !            96: .sp
        !            97: putchar_______ and putword_______ write a byte or word respectively into the string
        !            98: and advance the write pointer.
        !            99: 
        !           100: .ul
        !           101: lookchar
        !           102: and
        !           103: .ul
        !           104: lookword
        !           105: read
        !           106: a byte or word respectively from the string but do not advance the read pointer.
        !           107: 
        !           108: getchar_______ and getword_______ read a byte or word respectively from the string and advance the read pointer.
        !           109: 
        !           110: alterchar_________ and alterword_________ write a byte or word respectively into the string where the read pointer
        !           111: is pointing and advance the read pointer.
        !           112: 
        !           113: backspace_________ and backword________ read the last byte or word written and decrement the write pointer.
        !           114: 
        !           115: All write operations will automatically get a larger block if the current block is exceeded.
        !           116: All read operations return with the error bit set if attempting to read beyond the write pointer.
        !           117: .sp
        !           118: seekchar________ moves the read pointer to the offset specified in r0.
        !           119: 
        !           120: length______ returns the current length of the string (beginning pointer to write pointer) in r0.
        !           121: 
        !           122: position________ returns the current offset of the read pointer in r0.
        !           123: 
        !           124: rewind______ moves the read pointer to the beginning of the string.
        !           125: 
        !           126: create______ returns the read and write pointers to the beginning of the string.
        !           127: 
        !           128: fsfile______ moves the read pointer to the current position of the write pointer.
        !           129: 
        !           130: zero____ zeros the whole string and sets the write pointer to the beginning of the string.
        !           131: 
        !           132: copy____ copies the string whose header pointer is in r0 to the string whose header pointer is in
        !           133: r1.
        !           134: Care should be taken in using the copy instruction since r1 will be changed if the contents of the source string
        !           135: is bigger than the destination string.
        !           136: 
        !           137: wc__ forces the contents of the internal buffers and the header blocks to be written on disc.
        !           138: .sp
        !           139: .ti 0
        !           140: FILES          The allocator is in
        !           141: /lib/libs.a;
        !           142: the -s__ option to ld__ will link edit
        !           143: references to the allocator.
        !           144: 
        !           145: alloc.d is the temporary file used to contain
        !           146: the strings.
        !           147: 
        !           148: .ti 0
        !           149: SEE ALSO       --
        !           150: .sp
        !           151: .ti 0
        !           152: DIAGNOSTICS    "error in copy" if a disk write error occurs during the execution of the copy instruction.
        !           153: "error in allocator" if any routine is called with a bad header pointer.
        !           154: "Cannot open output file" if file alloc.d cannot be created or opened.
        !           155: "Out of space" if there's no available block of the requested size or no headers available for a new block.
        !           156: .sp
        !           157: .fi
        !           158: .in16
        !           159: .ti 0
        !           160: BUGS           --

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.