DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦4c07f161b⟧ TextFile

    Length: 5632 (0x1600)
    Types: TextFile
    Names: »UNIXCONF.SA«

Derivation

└─⟦311ba069f⟧ Bits:30009789/_.ft.Ibm2.50006625.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »UNIXCONF.SA« 
└─⟦49237ce80⟧ Bits:30009789/_.ft.Ibm2.50006627.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »UNIXCONF.SA« 
└─⟦714bbb381⟧ Bits:30009789/_.ft.Ibm2.50006595.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »UNIXCONF.SA« 

TextFile

 
æ*****************************************************************
                        Copyright 1984 by
                        NCR Corporation
                        Dayton, Ohio  U.S.A.
                        All Rights Reserved
******************************************************************
                        EOS Software produced by:
                        NCR Systems Engineering - Copenhagen
                        Copenhagen
                        DENMARK
*****************************************************************å
 
æ********** (InitConfig) *** ver 0.08 83-12-12   **************å
æ***************************************************å
 
 
OBJECT PROGRAM JCLTest;
 
æ$F=FAMILY.UNIV.IDå
æ$F=FAMILY.KNEL.IDå
æ$F=FAMILY.OBJDIR.IDå
æ$F=FAMILY.IOSYS.IDå
æ$F=PRIVATE.SHCLFS.IDå
æ$F=PRIVATE.UNIJCS.IDå
æ$F=PRIVATE.UNIXFS.IDå
 
PROCEDURE PrintText (text : fullId); FORWARD;
PROCEDURE PrintVar  (text : fullId; UNIV v : blockPtr); FORWARD;
 
TYPE
  fullName = PACKED ARRAY Æ1..48Å OF char;
  refArray = array Æ1..20Å of ref;
 
OBJECT Test;
  ENTRY  InitConfig;
END;
 
 
PROGRAM implTest OBJECT Test
  WITH RECORD
    code      : ref;
    objDirRef : ref;
    objRef    : ref;
    ipc       : ^^IoSys;
    vs        : ^^IoSys;
    mccm      : ^^IoSys;
    unips     : ^^unips;
    scfs      : ^^shclfs;
    upsGrp    : ref;
    uxfs      : ^^UnixFs;
  END;
 
 
PROCEDURE check (res : resultType);
BEGIN
  if res.main <> ok then
    printVar ('*****   InitConfig C H E C K   *****, res = ', res);
  if res.main <> ok then
    exception(res);
END;
 
FUNCTION equal (s1, s2 : shortId) : boolean;
  VAR
    i, k : integer;
    b : boolean;
BEGIN
  k := elements(s1);
  IF k > elements(s2) THEN k := elements(s2);
  b := true;
  i := 1;
  WHILE b AND (i<=k) DO
  BEGIN
    b := s1ÆiÅ = s2ÆiÅ;
    i := i+1;
  END;
  equal := b;
END;  æEqualå
 
 
 
ENTRY InitConfig
  WITH RECORD
    t : ^^;
  END;
 
  CONST
    BufSize = 256;
    udcFirst  = 16#ff0000;
    udcVector = 255;
    udcLevel  = 3;
    mccmFirst = 16#ff1000;
    mccmVector= 247;
    mccmLevel = 4;
    space     = ' ';
 
  VAR
    res : resultType;
    count, devno, i, pos     : integer;
    fName, oName, sName : fullName;
    pTab: ARRAY Æ1..10Å   OF integer;
 
 
  BEGIN
    æ ask ObjDir to create all boot objects å
    printText ('--- UNIXConf version 0.08 83-12-12 --- ');
    REPEAT
      FOR i := 1 TO 48 DO
      BEGIN
        oNameÆiÅ := space;
        sNameÆiÅ := space;
      END;
      res := objDirRef.Create (OUT objRef ; IN OUT oName, IN sName);
æ#b#printVar ('call objDir.create, res= ',res);#e#å
æ#b#printVar ('objName = ',oName);#e#å
æ#b#åprintText ( oName );æ#e#å
      IF res.main = Ok THEN
      BEGIN
        IF equal (oName, '/versafs') THEN
          check ( copy (objRef, vs))
        ELSE
        IF equal (oName, '/udc') THEN
        BEGIN
          check ( copy (objRef, ipc));
          check (ipc.InitIpcSys ( ; udcVector, udcLevel, udcFirst));
        END else if equal ( oName, '/mccm')  then begin
          check ( copy (objRef, mccm ) );
          check ( mccm.initIpcSys (; mccmVector, mccmLevel, mccmFirst ) );
        end else if equal ( oName, '/unips') then begin
          check ( copy (objRef, unips ) );
          check ( unips.init(;makeSize(-1,-1),   æ max å
                              makeSize(2000,1000),   æ procå
                              makeSize(20000,5000))); æ ext å
        end else if equal ( oName, '/scfs') then begin
          check ( copy (objRef, scfs ) );
          check ( scfs.INITscfs );
        end else if equal ( oName, '/unixfs') then begin
          check ( copy (objRef, uxfs ) );
        end ;
      END;    æres = okå
    UNTIL res.main <> ok;
 
    æ configurate discs å
æ#b#åprintText ('-------- configurate Disc ------------ ');æ#e#å
    devno:=0;
    check( ipc.CreateFile (; 'disc0', devno));
    devno:=1;
    check( ipc.CreateFile (; 'disc1', devno));
    devno:=4;
    check( ipc.CreateFile (; 'floppy4', devno));
    devno:=5;
    check( ipc.CreateFile (; 'floppy5', devno));
 
æ#b#åprintText ('-------- include Disc ------------ ');æ#e#å
    æ ignore result of disc include å
 
 
    res:=  vs.Include(;'/udc/disc0');
    res:=  vs.Include(;'/udc/disc1');
    res:=  vs.Include(;'/udc/floppy4');
    res:=  vs.Include(;'/udc/floppy5');
    res:=  uxfs.include(;'/versafs/eos:0.disc.unix.ud','/');
 
    æ configurate terminals å
æ#b#åprintText ('-------- configurate Terminals ------------ ');æ#e#å
    check( mccm.CreateFile(;'term0', 0 ) );
    check( mccm.CreateFile(;'term1', 1 ) );
    check( mccm.CreateFile(;'term2', 2 ) );
 
    æ configurate JCL å
æ#b#åprintText ('-------- configurate JCL ------------ ');æ#e#å
æ   check( jobsys.Newterm (;'/mccm/term0' ) ); å
æ   check( jobsys.Newterm (;'/mccm/term1' ) ); å
 
    æ configurate UNIPS å
æ#b#åprintText ('-------- configurate UNIPS ---------- ');æ#e#å
    check( unips.include(OUT upsGrp, IN scfs;
                         IN '/mccm/term0',
                         IN 'unixfs//bin/login'));
 
æ$Eå
 
æ#b#åprintText ('**********     E O S   Running      ************');æ#e#å
 
 
  END;  æbootInitå
 
OTHERWISE o WITH RECORD t : ^^; END;
BEGIN
  printText ('InitConfig.otherwise');
END;
 
END;  æ Test å
 
 
 
INITIALIZE
  implTest 'InitConfig':
    objDirRef 'objdir'
 
END.
«eof»