home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
psform.zip
/
GLOBALS.H
< prev
next >
Wrap
Text File
|
1995-03-23
|
10KB
|
228 lines
/******************************************************************************
* *
* Datei: GLOBALS.H *
* *
******************************************************************************/
#include <stdio.h>
/******************************************************************************
* *
* Typ BOOLEAN *
* *
******************************************************************************/
#ifndef BOOLEAN
#define TRUE 1
#define FALSE 0
#endif
/******************************************************************************
* *
* Default-Werte *
* *
******************************************************************************/
#define VARANFANG "{"
#define VARENDE "}"
#define BLOCK_ANFANG "["
#define BLOCK_ENDE "]"
#define FUELL_ZEICHEN " "
#define SPEZ_FUELL_ZEICHEN "\""
#define SEPARATOR_ZEICHEN ";"
#define VARIABLENTRENNUNG ";" /*BUGBUG überprüfen auf Notwendigkeit */
#define INI_NAME_WERT_TRENNER "="
#define STRING_1 "\"" /* !! u.a. Verwendung in SYNTAX.H */
#define STRING_2 "'"
#define COMMENT_ANFANG "/*"
#define COMMENT_ENDE "*/"
#define COMMENT_ZEILE "//"
#define MAXDATEI 13 /* Max.Dateilaenge nach DOS-Konvention */
#define MAXBEFEHL 255 /* MAXBEFEHL > 2 * MAXDATEI */
#define MAXBUFFER 255 /* Max. nutzbare Pufferlänge */
#define MAX_KURZ_LAENGE 3 /* Max. Länge der Kurznamen */
#define SPEZIFIKATIONSTRENNUNG ","
#define FORMULARDATEI "FormularDatei"
#define PROGRAMMNAME "ProgrammName"
#define FELDZEICHEN "Feldzeichen"
#define SEPARATOR "Separatorzeichen"
#define KURZNAME "Kurzname"
#define FUNKTIONEN "Funktionen"
#define FUELL "Füllzeichen"
#define POSTSCRIPT_TYP 1
#define SPEZIFIKATIONS_TYP 2
// ASCII-Codierung
#define BACKSLASH 92
#define ANFUEHRUNGSZEICHEN 34
#define SEMIKOLON 59
#define BLANK 32
#define BUFFER_CR_CHAR 127
char *VARBUFFER;
/******************************************************************************
* *
* Variablen für Laufkontrolle der Formulare *
* *
******************************************************************************/
int FORMANZ = 0; /* Anzahl der Formulare */
int FORMCTRL = 0; /* Flag zur Steuerung */
int ANZCTRL = 0;
/******************************************************************************
* *
* Typen für die Spezifikationsdaten *
* *
******************************************************************************/
typedef struct spez_daten{
short typ; // Typ
char ausrichtung[2];
char fuellzeichen[2];
// Typ 1
int position; // Position
int laenge; // Länge
// Typ 2
char konstante[80];
// Typ 3
char funktion[80];
// Typ 4
char ininame[80];
char wert[80];
// Typ 6 und Typ 9
int index;
} spez_daten;
typedef struct posliste{
long int offset;
char varname[80];
int laenge;
spez_daten daten;
struct posliste *next;
} Posliste;
int fkt_count = 0;
/******************************************************************************
* *
* verwendete Zeichen *
* *
******************************************************************************/
char anfangszeichen[2];
char endezeichen[2];
char fuellzeichen[2];
char separator[2];
/******************************************************************************
* *
* Typ für die Liste der Funktionen / Kurznamen *
* *
******************************************************************************/
typedef struct liste{
char *ptr;
struct liste *next;
} liste;
liste *head = NULL;
int name_count = 0;
/******************************************************************************
* *
* Prototypen GEN_READ.C *
* *
******************************************************************************/
int prf_kurzname(char *feld );
int conv_ps( char *daten );
int getfiles( char *daten);
int getfunc( char *daten, FILE *file);
int del_comments( char *daten);
Posliste *typ_3_lesen( char *daten);
void typ_3_global( char *daten, FILE *fp);
void typ_3_fest( char *daten, FILE *fp);
int find_x(char *ptr);
int find_x_vor(char *ptr);
/******************************************************************************
* *
* Prototypen DR_READ.C *
* *
******************************************************************************/
char *offset_kurz ( char *buffer, Posliste *liste );
int read_var( const char *datei, int typ);
int formanz(FILE *fp, int typ);
/******************************************************************************
* *
* Prototypen ALLG.C *
* *
******************************************************************************/
int anfang (char *feld );
int ende (char *feld );
char *buf_file( const char *datei );
int isdruck( int c );
liste *create_element(void);
void add_element(liste *element);
void del_liste( liste *liste);
char *aus_und_fuellz( Posliste *new_element, char *feld, char *buffer, int *i);
Posliste *create_posliste_element(void);
/******************************************************************************
* *
* Prototypen GEN_WRIT.C *
* *
******************************************************************************/
void write_buf( char *daten, FILE *file, int typ );
void write_kurz_namen(FILE *fp);
/******************************************************************************
* *
* Prototypen *
* *
******************************************************************************/
void typ_3_druck(Posliste *liste, FILE *druckdatei);
int spez_buf(char *daten, Posliste *liste);
int get_var(char *daten, Posliste *liste );
void ini_liste( Posliste *liste);
int listcpy( Posliste *liste1, Posliste *liste2);
int var_print( const char *vardatei, const char *druckdatei, char *daten, Posliste *liste);
int read_ini( char *inidaten, Posliste *liste);
void del_posliste( Posliste *liste);
char *f_pos(int position, int laenge);
char *f_index1(int index);
char *f_index2(int index);
void ufuell(char *varstring, Posliste *liste, FILE *fp);
void fsizeprf(char *daten, char *fkt);
/******************************************************************************
* *
* Funktionen für Spezifikationsprüfung *
* *
******************************************************************************/
int check_spez( char *datei );
char *commentprf(char *buffer);
void errfile( char *datei );
int iszeichen( int c );
char *trennprf(char *buffer);
char *intprf(char *buffer);
char *nameprf(char *buffer);
char *textprf(char *buffer);
char *ausgabeprf(char *buffer);
char *ausrichtungprf(char *buffer);
char *feldprf(char *buffer);
char *kurzprf(char *buffer);
char *zeichenprf(char *buffer);