{-------------------------------------------------------------}
{
{    Webvox - Variáveis globais
{
{    Autor: Jose' Antonio Borges
{
{    Em 14/05/98
{
{-------------------------------------------------------------}

unit webvars;

interface

{-------------------------------------------------------------}
{                     variaveis globais
{-------------------------------------------------------------}

const
    VERSAO = '2.4';
    ALFABETA = '';

    PROXY_NCE = '146.164.10.67';                { proxy do NCE }
    PORTAPROXY_NCE = 3128;

    MAXTAGSPROG = 15000;                        { máximo de tags processáveis }
    MAXPILHA = 40;                              { máximo de páginas a voltar }
    MAXLINCABHTTP = 50;                         { maximo de linhas do cabecalho HTTP }
    MAXBOOKMARK = 200;                          { máximo de páginas selecionadas }
    BUFSIZE = 4096;		                { tamanho do buffer de rede }
    CRLF: string = #$0d+#$0a;                   { fim de linha }

type
    pstring = ^string;

    PPagLida = ^TPagLida;

    TPagLida = record
         nomePagina: string;             { nome desta pagina }
         nomeArqTemp: string[80];        { nome do arquivo temporario }
         podeApagarTemp: boolean;        { temporario pode ser apagado depois de lido }
         posicao: integer;               { posicao em que a leitura foi interrompida }
         posFormPreenc: integer;         { indice do registro de formularios preenchidos }
         jaCompilado: boolean;           { ja tinha sido compilado }
    end;

    PSomTag = ^TSomTag;
    TSomTag = record
        nomeTag: string [10];
        somTag:  string [40];
    end;

    pTags = ^vetTags;
    vetTags = array [1..MAXTAGSPROG] of pstring;

var
    debug: boolean;                             { em modo debug }

    sockHTTP: integer;                          { descritor dos soquetes }
    hostProxy: string;	                        { nome dos hosts }
    hostHTTP: string;
    portaProxy: integer;                        { portas dos servidores }
    portaHTTP: integer;
    portaLocalFTP: integer;
    comProxy: boolean;

    dirRecebe: string;		                { diretorios de envio e recepcao }
    computLocal: string;                        { nome do computador local }

    tituloJan: array [0..100] of char;          { título desta janela }

    topoPilhaPag: integer;
    pilhaPag: array [1..MAXPILHA] of PPagLida;  { pilha de últimas paginas }

    bufEnvia:  array [0..BUFSIZE-1] of char;	{ buffer de envio de mensagens }
    bufRecebe: array [0..BUFSIZE-1] of char;	{ buffer de recepcao de mensagens }
    lidosBufRecebe: integer;                    { lidos no buffer de recepção }
    posBufRecebe: integer;                      { posição processada no buffer de recepção }

    nomeTemp: string;                           { nome do arquivo temporario corrente }
    nomePagAtual: string;                       { nome desta pagina }
    nomeBase: string;                           { nome base para URLs relativas }
    linhaAtual: longint;                        { posição atual de processamento da página }
    rotuloInicial: string;                      { rótulo de início de leitura }
    cookie: string;                             { cookie associado a esta página }

    processando: boolean;                       { programa ativo }
    submeteu: boolean;                          { apertou botao de submissao }
    modoFala: char;                             { modo de fala atual }

    nlinCabecHTTP: integer;                     { numero de linhas do cabec. HTTP }
    cabecHTTP: array [1..MAXLINCABHTTP] of pstring;

    ntags: integer;
    tagsPagina: pTags;                          { a pagina html descompilada }

    ntagsForms: integer;
    tagsForms: pTags;                           { os formularios preenchidos }
    dadosPost: pchar;                           { dados para envio via post }

    dirTags: string;
    tabSomTags: array [1..100] of PSomTag;
    nSomTags: integer;

    nBookMarks: integer;                        { bookmarks }
    bookMark: array [1..MAXBOOKMARK] of pstring;
    comentBmark: array [1..MAXBOOKMARK] of pstring;

    emPortug: boolean;                           { usa servidor DDE }
    servDDE, topicoDDE, itemDDE: string [30];    { servidor DDE de fala }
    falandoPontuacao: boolean;                   { fala a pontuação }

    ultMsgAutent: string;                        { mensagem de autenticação HTTP }
    ultAutent: string;                           { autenticação HTTP enviada }

    textoBuscado: string;                        { texto buscado }

implementation
end.
