// IfsFtpInit.bcpl - File Server initialization // Copyright Xerox Corporation 1979, 1980, 1982 // Last modified May 13, 1982 2:10 PM by Boggs get "IfsFtpProt.decl" get "Streams.d" external [ // outgoing procedures InitFtpServ // incoming procedures IfsFtpServ Allocate; Enqueue; OpenLevel1Socket InitFtpUtil; InitFtpPList SetBlock; Zero; Noop; SysErr // procedures external only for OEP declarations FtpSVersion; FtpSDirectory; FtpSRename FtpSRetrieve; FtpSRetrieveFile FtpSStore; FtpSStoreFile; FtpSStoreCleanup FtpSDelete; FtpSDeleteFile; FtpSNotImpl // outgoing statics dFTPI // incoming statics sysZone; rsQ; lPupSoc ] static dFTPI //--------------------------------------------------------------------------- let InitFtpServ() be //--------------------------------------------------------------------------- [ // register the FTP socket with the socket manager let rs = Allocate(sysZone, lenRS); Zero(rs, lenRS) rs>>RS.proc = IfsFtpServ rs>>RS.soc = Allocate(sysZone, lPupSoc) OpenLevel1Socket(rs>>RS.soc, table [ 0; 0; socketFTP ]) rs>>RS.extraSpace = lenExtraFtpCtx rs>>RS.type = jobTypeFTP Enqueue(rsQ, rs) // Ftp package initialization InitFtpUtil() InitFtpPList() // build the default Ftp Interface dFTPI = Allocate(sysZone, lenFTPI); Zero(dFTPI, lenFTPI) dFTPI>>FTPI.dspStream = lv Noop - offset ST.puts/16 dFTPI>>FTPI.lst = lv Noop - offset ST.puts/16 dFTPI>>FTPI.dls = lv Noop - offset ST.puts/16 dFTPI>>FTPI.Version = FtpSVersion dFTPI>>FTPI.Store = FtpSStore dFTPI>>FTPI.StoreFile = FtpSStoreFile dFTPI>>FTPI.StoreCleanup = FtpSStoreCleanup dFTPI>>FTPI.Retrieve = FtpSRetrieve dFTPI>>FTPI.RetrieveFile = FtpSRetrieveFile dFTPI>>FTPI.RetrieveCleanup = Noop dFTPI>>FTPI.Delete = FtpSDelete dFTPI>>FTPI.DeleteFile = FtpSDeleteFile dFTPI>>FTPI.Directory = FtpSDirectory dFTPI>>FTPI.Rename = FtpSRename dFTPI>>FTPI.StoreMail = FtpSNotImpl dFTPI>>FTPI.RetrieveMail = FtpSNotImpl ] (1800)