typedef struct {
      int   reservado           (GERAL);
      int   pagina              (GERAL);
      int   contador            (GERAL);
      int   dia                 (GERAL);
      int   mes                 (GERAL);
      int   ano                 (GERAL);
      char  mes_extenso         (GERAL)[20];
      data  d1                  (GERAL);
      data  d2                  (GERAL);
      tipo_horas  h1            (GERAL);
      tipo_horas  h2            (GERAL);
      char  aux1                (GERAL)[80];
      char  aux2                (GERAL)[80];
      char  original            (GERAL)[80];
      int   num_via             (GERAL);
      int   linha               (GERAL);
      double euro               (GERAL);
     } tipo_geral;


typedef struct {                // 1
        int   existe            (EMPRESA);
        int   numero            (EMPRESA);
        char  nome              (EMPRESA)[72];
        char  directoria        (EMPRESA)[20];
        char  password          (EMPRESA)[20];
        char  contribuinte      (EMPRESA)[15];
        char  dados 0           (EMPRESA)[72];
        char  dados 1           (EMPRESA)[72];
        char  dados 2           (EMPRESA)[72];
        char  dados 3           (EMPRESA)[72];
        char  dados 4           (EMPRESA)[72];
        char  dados 5           (EMPRESA)[72];
        char  dados 6           (EMPRESA)[72];
        char  dados 7           (EMPRESA)[72];
        char  MensAnual         (EMPRESA)[2];
        char  MensTrim          (EMPRESA)[2];
        char  Regime            (EMPRESA)[2];
        char  flg_s             (EMPRESA)[2];
        char  drive             (EMPRESA)[6];
        int   ano               (EMPRESA);
        char  flg_r             (EMPRESA)[2];
        char  flg_grl           (EMPRESA)[2];
        char  rsv               (EMPRESA)[297];
        int   existe            (OPERADORES);
        int   numero            (OPERADORES);
        char  nome              (OPERADORES)[41];
        char  password          (OPERADORES)[20];
        char  flg_pswd          (OPERADORES)[2];
        int   nivel             (OPERADORES);
        char  rsv               (OPERADORES)[187];
        char nome               (PROGRAMA)[15];
        char versao             (PROGRAMA)[10];
        int  demo               (PROGRAMA);
        char fic                (PROGRAMA)[9];
        char path               (PROGRAMA)[40];
        char driver             (PORTA)[15];
        char form_pagina        (PORTA)[2];
        char cpi_15             (PORTA)[2];
        char select             (PORTA)[2];
        char rsv                (PORTA)[29];
        data  d1                (AMBIENTE);
        data  d2                (AMBIENTE);
        data  d3                (AMBIENTE);
        data  d4                (AMBIENTE);
        data  d5                (AMBIENTE);
        data  dc                (AMBIENTE);
        char  st1               (AMBIENTE)[80];
        char  st2               (AMBIENTE)[80];
        char  st3               (AMBIENTE)[80];
        char  st4               (AMBIENTE)[80];
        int   flc               (AMBIENTE);
        int   oldc              (AMBIENTE);
        int   ins_mode          (AMBIENTE);
        int   pede_empresa      (AMBIENTE);
        int   pede_operador     (AMBIENTE);
        int   beep_activo       (AMBIENTE);
        char  edita_temp        (AMBIENTE)[2];
        char  a_utilizar        (AMBIENTE)[2];
        int   p_via             (AMBIENTE);
        int   n_via             (AMBIENTE);
        double tela             (AMBIENTE);
        int   lpt               (AMBIENTE);
        char  KeySound          (AMBIENTE);
        tipo_horas h1           (AMBIENTE);
        char  rsv               (AMBIENTE)[264];
    } tipo_ambiente;             // 1

typedef struct {                // 2
      int    existe             (PESAGENS);
      int    linhas             (PESAGENS);
      char   codigo             (PESAGENS)[11];
      long   numero             (PESAGENS);
      data   d_pes              (PESAGENS);
      tipo_horas  h_ini         (PESAGENS);
      tipo_horas  h_fim         (PESAGENS);
      int    num_operador       (PESAGENS);
      char   tipo               (PESAGENS)[2];
      long   num_cf             (PESAGENS);
      char   nome_cf            (PESAGENS)[41];
      int    num_mot            (PESAGENS);
      char   nome_mot           (PESAGENS)[31];
      double tara               (PESAGENS);
      double liquido            (PESAGENS);
      double bruto              (PESAGENS);
      double valor              (PESAGENS);
      int    tipo_doc           (PESAGENS);
      long   num_doc            (PESAGENS);
      char   estado             (PESAGENS)[2];
      long   num_diario         (PESAGENS);
      char   rsv                (PESAGENS)[37];
     } pesagens;                //2

typedef struct {                //3
      int    existe             (PESAG-LNH);
      int    linha_f            (PESAG-LNH);
      int    cor                (PESAG-LNH);
      char   cod_mat            (PESAG-LNH)[11];
      long   numero             (PESAG-LNH);
      char   cod_art            (PESAG-LNH)[15];
      char   designacao         (PESAG-LNH)[41];
      double quantidade         (PESAG-LNH);
      double preco_unit         (PESAG-LNH);
      double valor              (PESAG-LNH);
      char   rsv                (PESAG-LNH)[27];
     } pesagens_lnh;           //3


typedef struct {               // 4
  int    reservado             (CLI-FORN);
  int    linhas_cco            (CLI-FORN);
  int    linhas_cnt            (CLI-FORN);
  int    linhas_art            (CLI-FORN);
  int    linhas_cmp            (CLI-FORN);
  long   numero                (CLI-FORN);
  char   nome  1               (CLI-FORN)[41];
  char   nome  2               (CLI-FORN)[41];
  char   morada                (CLI-FORN)[51];
  char   localidade            (CLI-FORN)[31];
  char   codigo postal         (CLI-FORN)[11];
  char   concelho              (CLI-FORN)[31];
  char   distrito              (CLI-FORN)[31];
  char   zona                  (CLI-FORN)[21];
  int    num_pais              (CLI-FORN);
  char   pais                  (CLI-FORN)[21];
  char   contribuinte          (CLI-FORN)[16];
  char   telefone              (CLI-FORN)[31];
  char   fax                   (CLI-FORN)[31];
  int    num_cond_pag          (CLI-FORN);
  char   cond_pagamento        (CLI-FORN)[21];
  int    prazo                 (CLI-FORN);
  double desconto global       (CLI-FORN);
  int    linha_precos          (CLI-FORN);
  long   num_banco             (CLI-FORN);
  char   banco                 (CLI-FORN)[41];
  char   conta                 (CLI-FORN)[21];
  int    num_vendedor          (CLI-FORN);
  char   vendedor              (CLI-FORN)[41];
  double comissao              (CLI-FORN);
  char   dff                   (CLI-FORN)[2];
  double saldo                 (CLI-FORN)[2];
  char   obs                   (CLI-FORN)[41];
  double desconto_linha        (CLI-FORN);
  double plafont               (CLI-FORN);
  int    num_classe            (CLI-FORN);
  char   des_classe            (CLI-FORN)[21];
  char   rsv                   (CLI-FORN)[17];
 } clientes;                   // 4


typedef struct {               // 5
      int    existe            (MATRICULAS);
      char   codigo            (MATRICULAS)[11];
      char   descricao         (MATRICULAS)[31];
      double tara              (MATRICULAS);
      char   tipo              (MATRICULAS)[2];
      long   num_cf            (MATRICULAS);
      char   nome_cf           (MATRICULAS)[41];
      char   rsv               (MATRICULAS)[29];
     } tipo_matriculas;        // 5
