home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / RADOOR30.ZIP / GLOBINFO.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1994-04-10  |  6.9 KB  |  148 lines

  1. {╔═════════════════════════════════════════════════════════════════════════╗
  2.  ║                                                                         ║
  3.  ║                   (c) CopyRight LiveSystems 1990, 1994                  ║
  4.  ║                                                                         ║
  5.  ║ Author    : Gerhard Hoogterp                                            ║
  6.  ║ FidoNet   : 2:282/100.5   2:283/7.33                                    ║
  7.  ║ BitNet    : GERHARD@LOIPON.WLINK.NL                                     ║
  8.  ║                                                                         ║
  9.  ║ SnailMail : Kremersmaten 108                                            ║
  10.  ║             7511 LC Enschede                                            ║
  11.  ║             The Netherlands                                             ║
  12.  ║                                                                         ║
  13.  ║        This module is part of the RADoor BBS doorwriters toolbox.       ║
  14.  ║                                                                         ║
  15.  ╚═════════════════════════════════════════════════════════════════════════╝}
  16. {---------------------------------------------------------------------------|
  17.  
  18.  Description:
  19.  
  20.  This unit contains the global information variables which is ment as a
  21.  mailbox between the BBS program specific information and the ToolBox.
  22.  The idea is that if you want to make your door capable of supporting
  23.  more than one BBS program, or an other BBS program all together, you
  24.  simply write a unit which reads the BBS specific configuration files
  25.  and which stuffs it's info into the variables in this unit.. If more
  26.  than one BBS is to be supported, YOU detect the BBStype and call the
  27.  correct Init procedure which initializes the variables here.
  28.  
  29.  RA.TPU is the included Init unit for RemoteAccess.
  30.  
  31.  If you want to use BBS specific information, you can, but you have to
  32.  handle it yourself.. All the other units in this toolbox only access
  33.  the GlobalInfo record, so it should be easy to port this toolbox to
  34.  other BBS types....
  35.  
  36.  I tried to include all the fields which virtualy all BBSses have available
  37.  in some way.
  38.  
  39. See the documentation on more specific info on the variables here, and
  40. what they are used for.
  41.  
  42. |---------------------------------------------------------------------------}
  43.  
  44.  
  45. Unit GlobInfo;
  46. Interface
  47. Uses DOS;
  48.  
  49. Type  NameString   = String[35];
  50.       StatusType   = (Normal,WarnOnLeaving,HangUpLine,LockOutUser);
  51.       SysStatus    = (S_Ok,S_Warning1,S_Warning2,S_TimeUp);
  52.  
  53.       MaxLogStr    = String[69];
  54.       LogItType    = Procedure (LogLine : MaxLogStr);
  55.  
  56.  
  57. Type IEMSIRec = { All the IEMSI info is stuffed here so you can easily use }
  58.                 { it in your programs                                      }
  59.        Record
  60.          Session    : Boolean;        { These fields hold  }
  61.          Crtdef,                      { data related to an }
  62.          Protocols,                   { EMSI session       }
  63.          Capabilities,
  64.          Requests,
  65.          Software   : String[40];
  66.          Attr1,
  67.          Attr2,
  68.          Len        : Byte;
  69.        End;
  70.  
  71.  
  72. Type GlobalInfoType =
  73.        Record
  74.          { BBSType information }
  75.  
  76.          BBSTag          : Word;       { Which BBS type }
  77.          BBSName         : NameString; { The name of the BBS program }
  78.  
  79.          OnlineStatus    : StatusType; { Mailbox between sysop keys and }
  80.                                        { Fossil unit                    }
  81.          SystemStatus    : SysStatus;  { TimeOut status                 }
  82.  
  83.          { Global SYSTEM information }
  84.  
  85.          SystemPath      : ComStr;     { Path to the System directory      }
  86.          HomeDir         : ComStr;     { Home directory of the door        }
  87.          UserFilePath    : ComStr;     { Path to the userfile directory    }
  88.          LogFileName     : ComStr;     { Name and path of the logfile      }
  89.          CommonDir       : ComStr;     { Dir for Onlinemsgs and such       }
  90.  
  91.          Node            : Byte;       { Current node                      }
  92.          ComPort         : Word;       { Used comm port                    }
  93.          BaudRate        : LongInt;    { Current baudrate                  }
  94.  
  95.          MultiLine       : Boolean;    { Is a multiline system?            }
  96.          DesqView        : Boolean;    { Desqview used?                    }
  97.          LogType         : Byte;       { Type of logfile                   }
  98.  
  99.          MinRemaining    : Integer;    { Daily time left                   }
  100.          TimeLimit       : Word;       { Maximal time left in door         }
  101.          TimeOutTime     : Word;       { Time for user timeout             }
  102.          Warnings        : Word;       { Number of warnings                }
  103.  
  104.          LeftBracket     : Char;       { Left bracket = [                  }
  105.          RightBracket    : Char;       { Right bracket = ]                 }
  106.  
  107.          { SysOp information }
  108.  
  109.          SysopName       : NameString; { Name of the SysOp                 }
  110.          SystemName      : NameString; { Name of the BBS                   }
  111.          SystemLocation  : NameString; { Location of the BBS               }
  112.  
  113.          LocalMono       : Boolean;    { Use colors on local screen?       }
  114.          LocalNoise      : Boolean;    { Should sysop hear noise too       }
  115.  
  116.          { User Information }
  117.  
  118.          UserName        : NameString; { Name of the current user          }
  119.          UserLocation    : NameString; { Location of the current user      }
  120.          UserHandle      : NameString; { Handle of the current user        }
  121.          UserSecurity    : Word;       { The users security level          }
  122.          UserSex         : Boolean;    { The users Sex                     }
  123.          UserBirthDay    : String[8];  { The birthday                      }
  124.          UserAge         : Byte;       { The age                           }
  125.          UserGroup       : Byte;       { The group                         }
  126.          Language        : String[8];  { The selected language             }
  127.  
  128.          ScreenLength    : Word;       { Lines on the screen               }
  129.          ScreenWidth     : Word;       { Characters on a line              }
  130.          UseGraphics     : Boolean;    { Use ANSI?                         }
  131.          UseAVATAR       : Boolean;    { Use AVATAR?                       }
  132.          UseMoreYN       : Boolean;    { Use More Y/N?                     }
  133.          UseClrScr       : Boolean;    { Send screen clearing codes?       }
  134.          UseQuietMode    : Boolean;    { Accept online-messages?           }
  135.  
  136.          IEMSI           : IEMSIrec;   { All the IEMSI info                }
  137.        End;
  138.  
  139.  
  140. Var GlobalInfo  : GlobalInfoType;      { Global info record                }
  141.     LogIt       : LogItType;           { Used Logfile procedure            }
  142.  
  143. Implementation
  144.  
  145. Begin
  146. FillChar(GlobalInfo,SizeOf(GlobalInfo),#00);
  147. End.
  148.