home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / bbs / pics16.ark / PICSTYPE.INC < prev    next >
Encoding:
Text File  |  1987-05-25  |  7.6 KB  |  215 lines

  1. { PICSTYPE.INC  Pascal Integrated Communications System}
  2. { 5/25/87 Ver 1.6 Copyright 1987 by Les Archambault}
  3.  
  4. type
  5.   record_status  = (deleted, read, private, public,restricted);
  6.  
  7.   Str3           = string[3];
  8.   Str10          = string[10];
  9.   FileName       = string[12];
  10.   Str14          = string[14];
  11.   StrTAD         = string[27];
  12.   StrPr          = string[50];
  13.   StrStd         = string[80];
  14.   StrName        = string[len_name];
  15.   firstname      = string[len_fn];
  16.   lastname       = string[len_ln];
  17.   address        = string[len_ad];
  18.   city           = string[len_cy];
  19.   state          = string[len_st];
  20.   phone          = string[len_ph];
  21.   password       = string[len_pw];
  22.   subject        = string[len_subj];
  23.   message        = string[len_msg];
  24.  
  25.   tad_array      = array[0..5] of byte;
  26.   name_array     = array[1..11] of byte;
  27.   hour_array     = array[0..23] of integer;
  28.   day_array      = array[0..6] of integer;
  29.   Fname_array    = array[1..20] of filename;
  30.   Record_Array   = array[1..128] of byte;
  31.  
  32.   buf_ptr        = ^mem_buf;
  33.   mem_buf        = array[1..1024] of byte;
  34.  
  35.   SysmPtr        = ^SysmRecord;
  36.   SysmRecord     =
  37.     record
  38.       key        : char;                    { Key value }
  39.       loc        : integer;                 { Location of record in file }
  40.       next       : SysmPtr                  { Pointer to next element on list }
  41.     end;
  42.  
  43.   MesgPtr        = ^MesgRecord;
  44.   MesgRecord     =
  45.     record
  46.       MesgNo,                               { Message number }
  47.       SummLoc    : integer;                 { Summary index }
  48.       TypMsg     : byte;                    { Message type }
  49.       next       : MesgPtr                  { Pointer to next element on list }
  50.     end;
  51.  
  52.   FilePtr        = ^FileRecord;
  53.   FileRecord     =
  54.     record
  55.       fname      : FileName;                { Name of a matching file }
  56.       index,                                { Libraries only: location of file }
  57.       fsize      : integer;                 { Size of file }
  58.       attrib     : byte;
  59.       next       : FilePtr                  { Pointer to next element on list }
  60.     end;
  61.  
  62.   SectPtr        = ^SectRecord;
  63.   SectRecord     =
  64.     record
  65.       SectDrive,                            { Drive }
  66.       SectUser,                             { User area }
  67.       SectConf,                             { Conference number 1-7}
  68.       SectAccs   : integer;                 { Access level required }
  69.       SectName   : filename;                { Section name }
  70.       sectrec    : integer;                 { section record number}
  71.       next       : SectPtr                  { Pointer to next element on list }
  72.     end;
  73.  
  74.   AreaPtr        = ^AreaRecord;
  75.   AreaRecord     =
  76.     record
  77.       Area,                                 { Area number }
  78.       AreaConf,                             { Conference number 1-7}
  79.       AreaAccs   : integer;                 { Access level required }
  80.       AreaName   : filename;                { Message area name }
  81.       AreaRec    : integer;                 { record number for description}
  82.       next       : AreaPtr                  { Pointer to next element on list }
  83.     end;
  84.  
  85.   ArtPtr         =^ArtRecord;
  86.   ArtRecord      =
  87.     record
  88.       Artdrive,
  89.       ArtUser,
  90.       ArtAccs,
  91.       Artnum     : integer;
  92.       ArtName    : filename;
  93.       ArtRec     : integer;
  94.       Next       : ArtPtr;
  95.     end;
  96.  
  97.  {Arc File types}
  98.  
  99.   long    = record           { used to simulate long (4 byte) integers }
  100.                  l, h : integer
  101.                end;
  102.   fntype  = array [0..12] of char;
  103.   heads   = record
  104.                  name   : fntype;
  105.                  size   : long;
  106.                  date   : integer;
  107.                  time   : integer;
  108.                  crc    : integer;
  109.                  length : long
  110.             end;
  111.  
  112.   FileBlock      =
  113.     record
  114.       drive      : byte;                    { Byte code }
  115.       fname      : name_array;              { File name }
  116.       extent,                               { Current extent }
  117.       s1, s2, reccount: byte;               { Used to compute file size }
  118.       map        : array[16..31] of byte    { Data map }
  119.     end;
  120.  
  121.   EntryBlock =
  122.     record
  123.       status     : byte;
  124.       fname      : name_array;
  125.       index,
  126.       fsize,
  127.       CRC,
  128.       CreationDate,
  129.       LastChangeDate,
  130.       CreationTime,
  131.       LastChangeTime: integer;
  132.       PadCount   : byte;
  133.       filler     : array[27..31] of byte
  134.     end;
  135.  
  136.   user_list      =
  137.     record
  138.       used       : integer;                 {  2 }
  139. { Personal information }
  140.       fn         : firstname;               { 11 }
  141.       ln         : lastname;                { 16 }
  142.       ad         : address;                 { 21 }
  143.       cy         : city;                    { 21 }
  144.       st         : state;                   {  3 }
  145.       ph         : phone;                   { 13 }
  146.       flags      : byte;                    {  1 }
  147.       pw         : password;                { 11 }
  148. { User access }
  149.       access     : byte;                    {  1 }
  150.       limit      : byte;                    {  1 }
  151. { User configuration }
  152.       nulls      : byte;                    {  1 }
  153.       shift_lock : boolean;                 {  1 }
  154.       noisy      : boolean;                 {  1 }
  155.       conf_flags : byte;                    {  1 }
  156.       columns    : byte;                    {  1 }
  157.       lines      : byte;                    {  1 }
  158. { User stats }
  159.       laston     : tad_array;               {  6 }
  160.       time_today : integer;                 {  2 }
  161.       time_total : integer;                 {  2 }
  162.       lasthi     : integer;                 {  2 }
  163.       upload     : integer;                 {  2 }
  164.       download   : integer                  {  2 }
  165.     end;                             { Total 123 }
  166.  
  167.   logr_list      =
  168.     record
  169.       date       : tad_array;               {  6 }
  170.       action     : byte;                    {  1 }
  171.       user       : integer;                 {  2 }
  172.       text       : FileName                 { 13 }
  173.     end;                             { Total  22 }
  174.  
  175.   summ_list      =
  176.     record
  177.       date       : tad_array;               {  6 }
  178.       status     : record_status;           {  1 }
  179.       area       : byte;                    {  1 }
  180.       num,                                  {  2 }
  181.       num_prev,                             {  2 }
  182.       num_next,                             {  2 }
  183.       user_from,                            {  2 }
  184.       user_to    : integer;                 {  2 }
  185.       subject    : subject;                 { 56 }
  186.       st_rec,                               {  2 }
  187.       size       : integer                  {  2 }
  188.     end;                             { Total  80 }
  189.  
  190.   stat_list      =
  191.     record
  192.       date       : tad_array;               {  6 }
  193.       busy_per_hour : hour_array;           { 48 }
  194.       busy_per_day  : day_array;            { 14 }
  195.     end;                             { Total  68 }
  196.  
  197.   nwin_list      =
  198.     record
  199.       date       : tad_array;               {  6 }
  200.       status     : record_status;           {  1 }
  201.       name       : FileName;                { 13 }
  202.       user       : integer;                 {  2 }
  203.       sectn      : filename;                { 13 }
  204.       descr      : Strstd;                  { 81 }
  205.       dnloads    : integer;                 {  2 }
  206.       last_dnload: tad_array;               {  6 }
  207.     end;                            { Total  123 }
  208.  
  209.   sysm_list      = StrStd;           { Total  81 }
  210.   mesg_list      = message;          { Total  73 }
  211.  
  212.   untype_file    = file;
  213.  
  214. {End of PICSTYPE.INC }
  215.