This procedure returns the names of the languages that are currently bound to the MCP. For information about binding a language to the operating system, see the MultiLingual System Administration, Operations, and Programming Guide.
Example
This example returns the languages bound by the operating system. Assume for this example that the bound languages are English and German.
BEGIN
$ INCLUDE INTL="SYMBOL/INTL/ALGOL/PROPERTIES." 10000000 - 49999999
FILE OUT(KIND=DISK,UNITS=CHARACTERS,FILEUSE=IO,FILETYPE=0,NEWFILE,
MAXRECSIZE=80,TITLE="OUT/ALGOL/MCP_BOUND_LANG.");
EBCDIC ARRAY LANGUAGES_ARY[0:84];
ARRAY LINEOUT[0:14];
INTEGER TOTAL
,I
,RESULT;
RESULT := MCP_BOUND_LANGUAGES(TOTAL, LANGUAGES_ARY);
WRITE(OUT,<"RESULT = ",J4>,RESULT);
IF RESULT EQL CS_DATAOKV THEN
BEGIN
REPLACE LINEOUT BY " " FOR 80;
WRITE(OUT,80,LINEOUT);
WRITE(OUT,<"LANGUAGES">);
WRITE(OUT,<"---------">);
FOR I := 0 STEP 1 UNTIL TOTAL-1 DO
WRITE(OUT,17,LANGUAGES_ARY[I*17]);
END;
CLOSE(OUT,LOCK);
END.Output
RESULT = 1 LANGUAGES --------- ENGLISH GERMAN
In this call, the parameters have the following meanings:
TOTAL is an integer returned by the procedure. It contains the total number of languages bound to the MCP.
LANGUAGES_ARY is an EBCDIC array returned by the procedure. It contains the names of the languages bound to the MCP. The maximum length of each name is 17 characters, and the names are left justified. For any name that is less than 17 characters, the field is filled on the right with blanks. It is recommended that the size of the array be 84 characters; an array of that size holds 5 names.
RESULT is an integer returned by the procedure. It indicates whether or not an error occurred during the execution of the procedure. An explanation of the error result values and messages can be found at the end of this section.
The values returned by this procedure include:
|
CS_ARRAY_TOO_SMALLV (3001) |
CS_FAULTV (1001) |
|
CS_BAD_ARRAY_DESCRIPTIONV (3000) |
CS_SOFTERRV (1002) |
|
CS_DATAOKV (1) |

