home *** CD-ROM | disk | FTP | other *** search
- MODULE tsys;
-
- (* Test- und Anwendungsbeispiel fuer Modul 'sys'.
- *
- * 14-Feb-93, hk
- *)
-
- FROM err IMPORT
- (* VAR *) errno;
-
- FROM types IMPORT
- (* TYPE *) SIGNEDLONG, UNSIGNEDLONG, timeT;
-
- FROM sys IMPORT
- (* TYPE *) PConfVal, SConfVal, pathconf, sysconf, time;
-
- FROM lib IMPORT
- (* PROC *) strerror, ltoa;
-
- FROM InOut IMPORT
- (* PROC *) WriteString, WriteInt, WriteCard, WriteLn, Write, Read;
-
- (*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
-
- CONST
- ERROR = LIC(-1);
-
- VAR
- limit : SIGNEDLONG;
- valStr : ARRAY [0..40] OF CHAR;
- ch : CHAR;
-
- (*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
-
- PROCEDURE TestVal ((* EIN/ -- *) proc : ARRAY OF CHAR;
- (* EIN/ -- *) limit : SIGNEDLONG );
- BEGIN
- WriteString(proc);
- IF limit = ERROR THEN
- IF errno <> 0 THEN
- WriteString("**failed**:: ");
- strerror(errno, valStr);
- WriteString(valStr);
- errno := 0;
- ELSE
- WriteString("nicht ermittelbar");
- END;
- ELSE
- ltoa(limit, valStr, 10);
- WriteString(valStr);
- END;
- WriteLn;
- END TestVal;
-
- PROCEDURE TestBool ((* EIN/ -- *) proc : ARRAY OF CHAR;
- (* EIN/ -- *) limit : SIGNEDLONG;
- (* EIN/ -- *) yes : ARRAY OF CHAR;
- (* EIN/ -- *) no : ARRAY OF CHAR );
- BEGIN
- WriteString(proc);
- IF limit = ERROR THEN
- IF errno <> 0 THEN
- WriteString("**failed**:: ");
- strerror(errno, valStr);
- WriteString(valStr);
- errno := 0;
- ELSE
- WriteString(no);
- END;
- ELSE
- WriteString(yes);
- END;
- WriteLn;
- END TestBool;
-
- (*===========================================================================*)
-
- BEGIN
- errno := 0;
- TestVal("sysconf(_SC_ARG_MAX) : ", sysconf(scArgMax));
-
- TestVal("sysconf(_SC_OPEN_MAX) : ", sysconf(scOpenMax));
-
- TestVal("sysconf(_SC_CHILD_MAX) : ", sysconf(scChildMax));
-
- TestVal("sysconf(_SC_CLK_TCK) : ", sysconf(scClkTck));
-
- TestVal("sysconf(_SC_VERSION) : ", sysconf(scVersion));
-
- TestBool("sysconf(_SC_JOB_CONTROL) : ", sysconf(scJobControl),
- "wird unterstützt", "wird nicht unterstützt");
-
- TestBool("sysconf(_SC_SAVED_IDS) : ", sysconf(scSavedIds),
- "wird unterstützt", "wird nicht unterstützt");
-
- limit := sysconf(scNGroupsMax);
- ltoa(limit, valStr, 10);
- TestBool("sysconf(_SC_NGROUPS_MAX) : ", limit, valStr,
- "wird nicht unterstützt");
- WriteLn;
-
-
- TestVal('pathconf(".", _PC_LINK_MAX) : ', pathconf(".", pcLinkMax));
-
- TestVal('pathconf(".", _PC_PATH_MAX) : ', pathconf(".", pcPathMax));
-
- TestVal('pathconf(".", _PC_NAME_MAX) : ', pathconf(".", pcNameMax));
-
- TestVal('pathconf(".", _PC_PIPE_BUF) : ', pathconf(".", pcPipeBuf));
-
- TestVal('pathconf("/dev/tty", _PC_VDISABLE) : ',
- pathconf("/dev/tty", pcVdisable));
-
- TestVal('pathconf("/dev/tty", _PC_MAX_CANON) : ',
- pathconf("/dev/tty", pcMaxCanon));
-
- TestVal('pathconf("/dev/tty", _PC_MAX_INPUT) : ',
- pathconf("/dev/tty", pcMaxInput));
-
- TestBool('pathconf(".", _PC_NO_TRUNC) : ', pathconf(".", pcNoTrunc),
- "Dateinamen werden nicht gekuerzt","Dateinamen werden gekuerzt");
-
- TestBool('pathconf(".", _PC_CHOWN_RESTRICTED) : ',
- pathconf(".", pcChownRestricted),"ja", "nein");
-
- Read(ch);
- END tsys.
-