GETBUF: Get buffer storage

The syntax of the GETBUF call is:

FUNC=GETBUF
Requests that storage for a buffer be obtained and that the sections for the buffer header and the first buffer entry be mapped. This macro initializes the HEADREG and ENTRYREG specified by IEWBUFF FUNC=MAPBUF.
TYPE={CUI | ESD | LIB | RLD | IDRU | IDRL | IDRZ | IDRB | SYM | TEXT | NAME | XTLST | MAP | PINIT | PMAR}
Specifies a record buffer for B_CUI, B_ESD, B_LIB, B_RLD, B_IDRU, B_IDRL, B_IDRZ, B_IDRB, B_SYM, and B_MAP class data items; a byte-oriented buffer for B_TEXT and PMAR data; a record buffer for name lists (NAME) (see GETN: Get names); a data buffer for an extent list (B_XTLST) that is returned to the caller after a program module is loaded (see LOADW: Load workmod); and a record buffer for part initializers (B_PARTINIT) (see binder-defined class B_PARTINIT). ADATA and all compiler-defined text classes must use TEXT for buffer type.
GM_RETCODE=gm_retcode — RX-type address or register (2-12)
Specifies the location of a fullword that receives the return code from the GETMAIN request issued by IEWBUFF.If not specified, an unconditional GETMAIN will be issued.
PREFIX=string
Specifies that each generated symbol in the buffer declaration is prefixed with the provided string, followed by an underscore(_). The PREFIX value is needed for differentiating the field names of two versions of the same record type. For instance, if you use Version 2 and Version 3 of the ESD mapping in the same program, you can use "V2" and "V3" respectively, for each PREFIX. The mappings are generated with the differentiating prefixes (for example, V2_ESD_TYPE and V3_ESD_TYPE), and you can then refer to any field name in either mapping without ambiguity.
Note: The PREFIX value should not be enclosed by apostrophes and must not exceed 32 bytes.