home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / hacking / phreak_utils_pc / bbp_vars.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-04-01  |  16.5 KB  |  302 lines

  1. { ------------------------------------------------------------------------ }
  2. {                                                                          }
  3. {             BlueBEEP global type, constant and variable segment          }
  4. {                                                                          }
  5. {            All structures copyright (C) Onkel Dittmeyer 1993-1995        }
  6. {                             All Rights Reserved.                         }
  7. {                                                                          }
  8. { ------------------------------------------------------------------------ }
  9.  
  10. unit bbp_vars;
  11.  
  12. interface
  13.  
  14. uses types;
  15.  
  16. const maininfotext     : array[1..5] of string =
  17.                          ('Set up BlueBEEP, edit trunks, dial sets, etc.',
  18.                           'Tools like import / export phone directory, etc.',
  19.                           'Rave hard! Get to work! PHREAK OUT!',
  20.                           'Information about BlueBEEP',
  21.                           'Leave BlueBEEP');
  22.       onoff            : array[false..true] of string = ('OFF','ON ');
  23.       publicversion    = TRUE;  { set this FALSE when you release a ßeta ver }
  24.       releasedate      = 'Saturday, April 1st, 1995';
  25.       internetadress   = 'onkeld@planet.net';
  26.       pbk_defrec_name  = 'Joey''s Pizza'; { initial phonebook record, name   }
  27.       pbk_defrec_num   = '+49-40-777095'; { initial phonebook record, number }
  28.       exesize          = 75287;           { important for SOS server !!!     }
  29.       id_serialcode    = 0;               { user-id and pass checksums       }
  30.       id_passcode      = 0;
  31.       check_userid     = FALSE;           { set to true to have it all chk'd }
  32.       version          = '1.00';          { guess this is self-explaining :) }
  33.       maxtrunks        = 19;              { max # of trunks                  }
  34.       maxnums          = 500;             { max # of phonebook entries       }
  35.       maxdialsets      = 19;              { max # of dial sets               }
  36.       maxcompanies     = 19;              { max # of companies for ccc       }
  37.       maxdtlsets       = 19;              { max # of dial translations       }
  38.       maxdoclength     = 1500;            { max line number for doc system   }
  39.       maxcountrycodes  = 150;             { max number of country codes      }
  40.       maxfwords        = 5000;            { max number of fonewordlist entr. }
  41.       pbentrynamelen   = 35;              { length of pbk name entry         }
  42.       pbentrynumlen    = 20;              { length of pbk number entry       }
  43.       trunkfilename    = 'BLUEBEEP.TRK';  { name for trunk file              }
  44.       dsfilename       = 'BLUEBEEP.SET';  { name for dial set file           }
  45.       cfgfilename      = 'BLUEBEEP.CFG';  { name for config file             }
  46.       phonebookname    = 'BLUEBEEP.PBK';  { name for phone book file         }
  47.       scanfilename     = 'BLUEBEEP.SCN';  { name for scanning file           }
  48.       redboxfilename   = 'BLUEBEEP.RBX';  { name for red box freq file       }
  49.       freqtestfilename = 'BLUEBEEP.FQT';  { name for freq test file          }
  50.       pulsedialfilename= 'BLUEBEEP.PLS';  { name for pulse dialing file      }
  51.       cccfilename      = 'BLUEBEEP.CCC';  { name for cc checker file         }
  52.       ccctempfilename  = 'CPROCESS.CCC';  { name for cc checker temp file    }
  53.       colorfilename    = 'BLUEBEEP.CLR';  { name for screen color file       }
  54.       wordlistfilename = 'BLUEBEEP.WLS';  { name for wordlist file           }
  55.       dtlfilename      = 'BLUEBEEP.DTL';  { name for dial translation file   }
  56.       ccodefilename    = 'BLUEBEEP.CCD';  { name for country code database   }
  57.       tempfilename     = 'BLUEBEEP.TMP';  { name for various temp files      }
  58.       bosskeyfilename  = 'BOSSKEY.SCR';   { name for bosskey scrimage        }
  59.       pagesize         = 9;               { page length in action screen     }
  60.       speedstepsize    = 0.05;            { dial speed switch step size      }
  61.       blankpbentry     = '-Unused-';      { blank phone book entry string    }
  62.       oldpbooksize     = 36000;           { size of the old phone book fmt.  }
  63.  
  64. { ******** INCLUDE ANSI PIX ************************************************ }
  65.  
  66. {$I BBP_LOGO.INC}           { BlueBEEP Logo for the opening screen           }
  67. {$I BBP_BART.INC}           { Bart Simpson "sucks dicks" ansi                }
  68. {$I BBP_TKOM.INC}           { Telekom Logo                                   }
  69.  
  70. { ******** TYPE DEFINITIONS ************************************************ }
  71.  
  72. type vgascreen    = array[0..63999] of byte; { for star bullshit }
  73.      tonetype     = record
  74.                         one   :word;     { Frequency #1 }
  75.                         two   :word;     { Frequency #2 }
  76.                         three :word;     { Frequency #3 }
  77.                         len   :word;     { Length of tone }
  78.                       end;
  79.  
  80.      tonetype2    = record
  81.                         one   :word;     { Frequency #1 }
  82.                         two   :word;     { Frequency #2 }
  83.                         three :word;     { Frequency #3 }
  84.                         mark  :word;     { Mark Time    }
  85.                         space :word;     { Space Time   }
  86.                       end;
  87.  
  88.      dialsettype  = record
  89.                         standard,description        :string;
  90.                         tone                        :array[0..9] of tonetype2;
  91.                         kp1, kp2, st, raute, stern,
  92.                         kp2e, ste, eo, c11, c12     :tonetype2;
  93.                      end;
  94.      configtype   = record
  95.                         version    :string;  { Verision number of *creator*}
  96.                         password   :string;  { BlueBEEP Password           }
  97.                         dialspeed  :real;    { Dialing speed               }
  98.                         firstonpage,         { First rec on page in acmode }
  99.                         curtrunk,            { Currently selected trunk    }
  100.                         curdset,             { Currently selected dial set }
  101.                         curnum,              { Currently selected number   }
  102.                         curcompany,          { Currently used CCC company  }
  103.                         timesused  :longint; { How many times BB! was used }
  104.                         gotblaster :boolean; { Got SB or only AdLib ?      }
  105.                         sbint, sbaddr :word; { Sound Blaster Parameters    }
  106.                         curcard,             { Current Card # for Talker   }
  107.                         curcallto   :string; { Current Fone # for Talker   }
  108.                         switchback  :byte;   { Toggle the play/rec bit y/n }
  109.                         flipkeypad,          { flip keypad in action mode  }
  110.                         ccc_manually:boolean;{ sample ccc or decide man.   }
  111.                         modem       :boolean;{ modem present at all ?      }
  112.                         modemport,           { modem COM port              }
  113.                         modemspeed  :word;   { modem DTE speed             }
  114.                         phonesystem :boolean;{ true = t-tone, false = pulse}
  115.                         modeminit   :string; { modem init string           }
  116.                         modemdatabits,       { modem data bits             }
  117.                         modemparity,         { modem parity                }
  118.                         modemstopbits :byte; { modem stop bits             }
  119.                         touchpad   :boolean; { use the touch-mode on pad   }
  120.                         commaperiod :word;   { Comma delay period for dial }
  121.                         cetdiff    :integer; { difference to CET time zone }
  122.                         activedtl   :byte;   { currently used DTL record   }
  123.                       end;
  124.  
  125.      oldnumberrec = record name, number :string[35]; end;
  126.  
  127.      numberrec    = record
  128.                         name   :string[pbentrynamelen];
  129.                         number :string[pbentrynumlen];
  130.                       end;
  131.  
  132.      trunktype    = record
  133.                         name,description :string;  { Name, desc of trunk      }
  134.                         tone             :array[1..10] of tonetype;
  135.                         pause            :array[1..10] of word;
  136.                       end;
  137.      scantype     = record
  138.                         scanstring       :string;  { before/after scandigits  }
  139.                         quickmacro       :string;  { quick macro              }
  140.                         digits,progress  :longint; { how many digits to scan  }
  141.                         ai               :boolean; { Auto-Increase flag       }
  142.                         redialcount      :longint; { redial macro atr. X tries}
  143.                         redialprog       :longint; { redial temp countdown    }
  144.                         stripzeroes      :boolean; { strip leading zeroes     }
  145.                       end;
  146.  
  147.      oldtlonumrec = record
  148.                         number :string[25];        { TLO 0.1-0.9 phone book   }
  149.                         descrip:string[30];        { format definition        }
  150.                       end;
  151.  
  152.      newtlonumrec = record
  153.                         number :string[30];        { TLO 1.0 phone book       }
  154.                         descrip:string[30];        { format definition        }
  155.                       end;
  156.  
  157.      redboxtype   = record
  158.                         acts1, acts2,              { redbox ACTS frequencies  }
  159.                         ipts1, ipts2,              { redbox IPTS frequencies  }
  160.                         nonacts       :word;       { redbox Non-ACTS freq.    }
  161.                       end;
  162.  
  163.      freqtesttype = record
  164.                         freq11, freq12, freq13, len1, del1,   { freqtest vars }
  165.                         freq21, freq22, freq23, len2 :word;   { and .FQT file }
  166.                         numbertotest                 :string; { format        }
  167.                         stepsize                     :word;   { definition !  }
  168.                       end;
  169.  
  170.     pulsedialtype = record
  171.                         waitfordt, pulse_mark,       { pulsedial variables    }
  172.                         pulse_space, pulse_interdig, { and BLUEBEEP.PLS file  }
  173.                         portadress, hookbit,         { format definitions     }
  174.                         playrecbit, phonebit,
  175.                         accesstime, hanguptime :word;
  176.                       end;
  177.  
  178.     ccc_companytype=record                           { comps for cardchecker  }
  179.                         name,number :string;         { name & # of company    }
  180.                         numberfirst :boolean;        { wants # 1st like AT&T  }
  181.                         startseq    :string;         { start seq. norm. blnk  }
  182.                         endseq      :string;         { following seq e.g. "#" }
  183.                         numdelay    :word;           { delay between # & card#}
  184.                         comeuptime  :word;           { del. for tlc. to cm. up}
  185.                         recorddelay :word;           { time 'till smpl. starts}
  186.                         sampletime  :word;           { sample time in ms      }
  187.                         samplerate  :word;           { rate to sample at (Hz) }
  188.                       end;
  189.  
  190.     dtltype       = record                           { * Dial Translation *   }
  191.                         name,                        { DTL name for entry     }
  192.                         note,                        { DTL notes for entry    }
  193.                         local,                       { Local dialformat stg   }
  194.                         global,                      { Int'l "+" dtl string   }
  195.                         special,                     { special dialformat stg }
  196.                         autolocal :string;           { AutoLocal county code  }
  197.                       end;
  198.  
  199.     colortype = record
  200.                     normal,
  201.                     high,
  202.                     high2,
  203.                     super_high,
  204.                     dark,
  205.                     error,
  206.                     error_reverse,
  207.                     reverse,
  208.                     reverse_high,
  209.                     special,
  210.                     special_high,
  211.                     special_dark,
  212.                     special_reverse,
  213.                     special_reverse_high,
  214.                     status,
  215.                     status_high,
  216.                     win_border_1,
  217.                     win_border_2,
  218.                     win_border_3,
  219.                     win_text,
  220.                     win_text_high,
  221.                     win_hilight,
  222.                     win_hilight_high,
  223.                     win_item,
  224.                     win_arrows,
  225.                     win_fill,
  226.                     win_error,
  227.                     win_title,
  228.                     win_background,
  229.                     knob_active,
  230.                     knob_inactive,
  231.                     shadow,
  232.                     help_normal,
  233.                     help_high,
  234.                     help_border_1,
  235.                     help_border_2,
  236.                     help_border_3,
  237.                     help_title,
  238.                     help_index,
  239.                     help_selected_index,
  240.                     inputfield,
  241.                     infoline,
  242.                     infoline_high,
  243.                     progressbar,
  244.                     keypad_pressed,
  245.                     keypad_released,
  246.                     titlebox,
  247.                     titlebox_border,
  248.                     titlebox_high,
  249.                     titlebox_inverse,
  250.                     titlebox_title,
  251.                     worldtime_ahead :byte;
  252.                   end;
  253.  
  254. type ccodetype = record
  255.                      cc      :string[3];
  256.                      country :string[12];
  257.                    end;
  258.  
  259. type fwordtype = array[1..maxfwords] of string[4];
  260.  
  261. { ******** VARIABLE DEFINITION BLOCK FOR THE GLOBAL BLUEBEEP PROJECT ******* }
  262.  
  263. var itemcount, oldattr  :byte;                    { Item counter for hormenu }
  264.     item                :array[1..10] of string;  { the items for hormenu    }
  265.     x,y,z               :word;                    { temporary runtime vars   }
  266.     result, oldx, oldy  :byte;                    { result of hormenu here   }
  267.     dossave             :^ansi;
  268.     oldphonebook        :file of oldnumberrec;    { BlueBEEP <= V0.07 format }
  269.     oldtlobook          :file of oldtlonumrec;    { old TLO phonebook filevar}
  270.     newtlobook          :file of newtlonumrec;    { new TLO phonebook filevar}
  271.     ccctempfile         :text;                    { whatever rgne            }
  272.     config              :configtype;              { Current config set       }
  273.     curds               :dialsettype;             { Currently used dial set  }
  274.     curtrunk            :trunktype;               { Current trunk            }
  275.     curscan             :scantype;                { Current Scan             }
  276.     curnum,lastnum      :numberrec;               { ????? used WHERE!?!?!?   }
  277.     curredbox           :redboxtype;              { Current Red Box          }
  278.     curfreqtest         :freqtesttype;            { Current Frequency Test   }
  279.     curpulsedial        :pulsedialtype;           { Current Pulse Dial Sets  }
  280.     curccc              :ccc_companytype;         { Current CC checker set   }
  281.     curdtl              :dtltype;                 { Current dial translation }
  282.     numbers             :array[1..maxnums] of ^numberrec; { vars for numbers }
  283.     numflags            :array[1..maxnums] of boolean; { vars for # flags    }
  284.     ccodes              :array[1..maxcountrycodes] of ^ccodetype; { c-codes! }
  285.     ccodecnt            :word;                    { how many country codes?  }
  286.     firstonpage,current :word;                    { stuff for number select. }
  287.     ch                  :char;                    { temp. key variable       }
  288.     save                :array[1..4000] of byte;  { temp. savescreen var     }
  289.     mousepresent        :boolean;                 { ms. presence set in init }
  290.     extendedfeatures    :boolean;                 { enable extended feats    }
  291.     keycode,handle      :string;                  { for security shitstuff   }
  292.     colors              :colortype;               { color database for scnrs }
  293.     userid, userpass    :string;                  { User ID for serialized V }
  294.     fonewords           :^fwordtype;              { 4-digit combo buffer     }
  295.     numwords            :word;                    { # of words in phoneword  }
  296.  
  297.     { NOTE: Local variables s (string) and x, i (byte/word/int) are used for }
  298.     {       loops and temporarily operations.                                }
  299.  
  300.  
  301. implementation end.
  302.