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];
        int   p_via             (AMBIENTE);
        int   n_via             (AMBIENTE);
        double tela             (AMBIENTE);
        int   lpt               (AMBIENTE);
        char  KeySound          (AMBIENTE);
        char  rsv               (AMBIENTE)[269];
    } tipo_ambiente;             // 1

typedef struct {               // 2
  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   limite_credito        (CLI-FORN)[2];
  data   d_admissao            (CLI-FORN);
  char   rsv                   (CLI-FORN)[11];
 } clientes;                   // 2

typedef struct {               // 3
  int    reservado             (TECNICOS);
  int    linhas_cco            (TECNICOS);
  int    linhas_cnt            (TECNICOS);
  int    linhas_art            (TECNICOS);
  int    linhas_cmp            (TECNICOS);
  long   numero                (TECNICOS);
  char   nome  1               (TECNICOS)[41];
  char   nome  2               (TECNICOS)[41];
  char   morada                (TECNICOS)[51];
  char   localidade            (TECNICOS)[31];
  char   codigo postal         (TECNICOS)[11];
  char   concelho              (TECNICOS)[31];
  char   distrito              (TECNICOS)[31];
  char   zona                  (TECNICOS)[21];
  int    num_pais              (TECNICOS);
  char   pais                  (TECNICOS)[21];
  char   contribuinte          (TECNICOS)[16];
  char   telefone              (TECNICOS)[31];
  char   bi                    (TECNICOS)[31];
  int    num_cond_pag          (TECNICOS);
  char   seg_social            (TECNICOS)[21];
  int    prazo                 (TECNICOS);
  double desconto global       (TECNICOS);
  int    linha_precos          (TECNICOS);
  long   num_banco             (TECNICOS);
  char   banco                 (TECNICOS)[41];
  char   conta                 (TECNICOS)[21];
  int    num_vendedor          (TECNICOS);
  char   vendedor              (TECNICOS)[41];
  double comissao              (TECNICOS);
  char   dff                   (TECNICOS)[2];
  double saldo                 (TECNICOS)[2];
  char   obs                   (TECNICOS)[41];
  double desconto_linha        (TECNICOS);
  double custo_hora            (TECNICOS);
  int    num_classe            (TECNICOS);
  char   funcao                (TECNICOS)[21];
  char   limite_credito        (TECNICOS)[2];
  data   d_admissao            (TECNICOS);
  char   rsv                   (TECNICOS)[11];
 } tecnicos;                   // 3

typedef struct {               // 4
       int    existe           (EQUIPAMENTOS);
       char   equipamento      (EQUIPAMENTOS)[26];
       char   marca            (EQUIPAMENTOS)[26];
       char   modelo           (EQUIPAMENTOS)[26];
       char   serie            (EQUIPAMENTOS)[26];
       long   contador         (EQUIPAMENTOS);
       data   d_ins            (EQUIPAMENTOS);
       char   flg_gc           (EQUIPAMENTOS)[2];
       char   flg_tp           (EQUIPAMENTOS)[2];
       char   ref_gc           (EQUIPAMENTOS)[15];
       data   d_ini            (EQUIPAMENTOS);
       data   d_fim            (EQUIPAMENTOS);
       long   num_cliente      (EQUIPAMENTOS);
       long   num_assistencia  (EQUIPAMENTOS);
       int    num_estado       (EQUIPAMENTOS);
       char   des_estado       (EQUIPAMENTOS)[11];
       char   rsv              (EQUIPAMENTOS)[18];
      } tipo_equipamentos;     // 4


typedef struct {               // 5
      int    existe            (ASSISTENCIA);
      int    linhas_apt        (ASSISTENCIA);
      int    linhas_obr        (ASSISTENCIA);
      int    linhas_rlt        (ASSISTENCIA);
      int    linhas_rpr        (ASSISTENCIA);
      long   numero            (ASSISTENCIA);
      data   d_rec             (ASSISTENCIA);
      data   d_ob              (ASSISTENCIA);
      data   d_rpr             (ASSISTENCIA);
      int    emitida           (ASSISTENCIA);
      char   anulada           (ASSISTENCIA)[2];
      int    num_estado        (ASSISTENCIA);
      long   num_cliente       (ASSISTENCIA);
      char   nome_cliente      (ASSISTENCIA)[41];
      char   obs               (ASSISTENCIA)[41];
      char   equipamento       (ASSISTENCIA)[26];
      char   marca             (ASSISTENCIA)[26];
      char   modelo            (ASSISTENCIA)[26];
      char   serie             (ASSISTENCIA)[26];
      long   contador          (ASSISTENCIA);
      char   anomalia1         (ASSISTENCIA)[77];
      char   anomalia2         (ASSISTENCIA)[77];
      char   anomalia3         (ASSISTENCIA)[77];
      char   anomalia4         (ASSISTENCIA)[77];
      char   observacoes1      (ASSISTENCIA)[77];
      char   observacoes2      (ASSISTENCIA)[77];
      char   nome_recepcao     (ASSISTENCIA)[41];
      char   nome_entregue     (ASSISTENCIA)[41];
      char   flg_gc            (ASSISTENCIA)[2];
      char   flg_tp            (ASSISTENCIA)[2];
      char   ref_gc            (ASSISTENCIA)[15];
      data   d_fim             (ASSISTENCIA);
      char   tempo             (ASSISTENCIA)[6];
      double tot_material      (ASSISTENCIA);
      double tot_mao_obra      (ASSISTENCIA);
      double tot_reparacao     (ASSISTENCIA);
      int    tipo_doc          (ASSISTENCIA);
      char   abrv_doc          (ASSISTENCIA)[5];
      long   num_doc           (ASSISTENCIA);
      double tot_facturar      (ASSISTENCIA);
      double iva               (ASSISTENCIA);
      double tot_iva           (ASSISTENCIA);
      double tot_valor         (ASSISTENCIA);
      char   rsv               (ASSISTENCIA)[28];
     } tipo_assistencia;       // 5

typedef struct {               // 6
      int    existe            (ASSIST-APT);
      int    linha_f           (ASSIST-APT);
      int    cor               (ASSIST-APT);
      long   numero            (ASSIST-APT);
      data   d_obs             (ASSIST-APT);
      char   des_obs           (ASSIST-APT)[71];
      char   rsv               (ASSIST-APT)[11];
     } tipo_assistencia_apt;   // 6

typedef struct {               // 7
      int    existe            (ASSIST-OBR);
      int    linha_f           (ASSIST-OBR);
      int    cor               (ASSIST-OBR);
      long   numero            (ASSIST-OBR);
      long   num_tecnico       (ASSIST-OBR);
      double custo_hora        (ASSIST-OBR);
      data   d                 (ASSIST-OBR);
      tipo_horas hi            (ASSIST-OBR);
      tipo_horas hf            (ASSIST-OBR);
      tipo_horas ht            (ASSIST-OBR);
      char   codigo            (ASSIST-OBR)[15];
      char   designacao        (ASSIST-OBR)[41];
      double qtd               (ASSIST-OBR);
      double preco             (ASSIST-OBR);
      char   rsv               (ASSIST-OBR)[21];
     } tipo_assistencia_obr;   // 7

typedef struct {               // 8
      int    existe            (ASSIST-RLT);
      int    linha_f           (ASSIST-RLT);
      int    cor               (ASSIST-RLT);
      long   numero            (ASSIST-RLT);
      char   relatorio         (ASSIST-RLT)[79];
      char   rsv[7]            (ASSIST-RLT);
     } tipo_assistencia_rlt;   // 8

typedef struct {               // 9
      int    existe            (ASSIST-RPR);
      int    linha_f           (ASSIST-RPR);
      int    cor               (ASSIST-RPR);
      long   numero            (ASSIST-RPR);
      char   relatorio         (ASSIST-RPR)[79];
      char   rsv               (ASSIST-RPR)[7];
     } tipo_assistencia_rpr;   // 9

