Loading...
Select Version
&pagelevel(3)&pagelevel
Die nachfolgend dargestellte Beispielprozedur zeigt, wie eine SOCKETS(POSIX)- bzw. XTI(POSIX)-Anwendung im BS2000 übersetzt und gebunden werden kann.
/SET-PROCEDURE-OPTIONS IMPLICIT-DECLARATION=*NO /DECLARE-PARAMETER ( - / PRGLIB (TYPE=*STRING, INITIAL-VALUE=*PROMPT), - / ELEMENT (TYPE=*STRING, INITIAL-VALUE=*PROMPT), - /) /REMARK PARAMETER PROMPTING: &(PRGLIB) &(ELEMENT) /DECLARE-CONSTANT ( - / INCLIB (TYPE=*STRING, VALUE='$.SYSLNK.CRTE'), - / INCLIB1 (TYPE=*STRING, VALUE='$.SYSLNK.CRTE.CPP'), - / POSHEAD (TYPE=*STRING, VALUE='$.SYSLIB.POSIX-HEADER'), - / POSLNK (TYPE=*STRING, VALUE='$.SYSLNK.CRTE.POSIX'), - /) /"--- INSTALLATIONS-PFAD VON SYSLIB.POSIX-SOCKETS ERITTELN -------" /DECLARE-VARIABLE SOCLIB (TYPE=*STRING) /DECLARE-VARIABLE SVARL (TYPE=*STRUCT),MULTIPLE-ELEMENTS=*LIST /DECLARE-VARIABLE SVARI (TYPE=*STRUCT),MULTIPLE-ELEMENTS=*LIST /DECLARE-VARIABLE SVAR (TYPE=*STRUCT) /EXEC-CMD (SHOW-INSTALLATION-PATH POSIX-SOCKETS,SYSLIB), - / STRUCT-OUTPUT=SVARL,TEXT-OUTPUT=*NO /SVARI = SVARL#1.IU-II-LIST /SVAR = SVARI#1 /SOCLIB = SVAR.II-PATH-NAME /"--- C-COMPILER AUFRUFEN ----------------------------------------" /START-CPLUS-COMPILER //MODIFY-SOURCE-PROPERTIES - // LANGUAGE=*C(MODE=*ANSI), - // DEFINE='_OSD_POSIX' //MODIFY-INCLUDE-LIBRARIES - // USER-INCLUDE-LIBRARY=*SOURCE-LIBRARY, - // STD-INCLUDE-LIBRARY=( - // *STANDARD-LIBRARY, &(POSHEAD), &(SOCLIB) - // ) //MODIFY-LISTING-PROPERTIES - // OPTIONS=*YES, - // SOURCE=*YES, - // SUMMARY=*YES, - // INCLUDE-INFORMATION=*ALL, - // OUTPUT=*LIB(LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).LST) //SHOW-PROPERTIES SELECT=(*INCLUDE) //COMPILE - // SOURCE=*LIBRARY-ELEMENT( - // LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).C - // ), - // MODULE-OUTPUT=*LIBRARY-ELEMENT( - // LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).O - // ) //END /"--- BINDER AUFRUFEN --------------------------------------------" /SET-FILE-LINK LINK-NAME=BLSLIB01,FILE-NAME=&(INCLIB) /SET-FILE-LINK LINK-NAME=BLSLIB02,FILE-NAME=&(INCLIB1) /SET-FILE-LINK LINK-NAME=BLSLIB03,FILE-NAME=&(SOCLIB) /START-BINDER //START-LLM-CREATION INTERNAL-NAME=&(ELEMENT) //INCLUDE-MODULES - // *LIB(LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT).O, TYPE=L ) //INCLUDE-MODULES - // *LIB(LIBRARY=&(POSLNK), ELEMENT=*ALL, TYPE=(L,R)) //RESOLVE-BY-AUTOLINK LIBRARY=*BLSLIB-LINK //SAVE-LLM - // *LIB(LIBRARY=&(PRGLIB), ELEMENT=&(ELEMENT)), - // OVERWRITE=*YES //END /EXIT-PROCEDURE