# cgmmach.h File Reference

`#include <stdio.h>`
`#include <string.h>`
`#include <stdlib.h>`
`#include <math.h>`
`#include <ctype.h>`
`#include <time.h>`

## Defines

#define | CGMVERSION 1
#define | const
#define | volatile
#define | FREE(x) free ( (char *) x )
#define | NULL (int *) 0
#define | SignChar signed char
#define | Int16 short
#define | Char char
#define | Int int
#define | Long long
#define | Float float
#define | Double double
#define | SQRT(x) sqrt( (double) (x) )
#define | FABS(x) fabs( (double) (x) )
#define | MALLOC(n, s) malloc( (size_t) ((n)*(s)) )
#define | VAR_BUFFER
#define | ARRAY_MAX 1024
#define | STRING_MAX 1024
#define | DEFOUT 'T'
#define | ERROR_MAX 16
#define | DEFVERBOSE FALSE
#define | DEFQUIET FALSE
#define | DEFMOVIE FALSE
#define | DEFDOUBLE FALSE
#define | DEFFULLSCRN TRUE
#define | DEFRALGKSGDP FALSE
#define | Lpoint Point
#define | LPOINT(p) Lpoint *p
#define | BEGINLIST(p)
#define | STOREPOINT(p, q) (*p).x = q.x; (*p++).y = q.y
#define | STOREVALUE(p, q, r) (*p).x = q; (*p++).y = r
#define | CLOSELIST(p)
#define | NEWSUBLIST(p)
#define | ENDLIST(p)
#define | MAXFNSIZE 40
#define | DATADIR ""
#define | FILESEP "."
#define | PATHDELIM '/'
#define | MAXFLSIZE 80
#define | NAMELGTH 8
#define | EXTLGTH 3
#define | LFILEDEF 0
#define | F_READ 'r'
#define | F_WRITE 'w'
#define | BUFF_LEN (size_t) 80
#define | OBUFF_LEN (size_t) 512
#define | NFRAME 100
#define | NMETA 10
#define | MAXPTS 4096
#define | SET_MAX 50
#define | COLOUR_TAB 256
#define | COLOUR_BITS 8
#define | PATT_TAB 1024
#define | PATTERNS 40
#define | NPOWER 32
#define | HASHSIZE 280
#define | NULLSTR (char *) NULL
#define | MAXCSET 1000
#define | MAXFUDGE 25
#define | MAXFAMILY 2000
#define | MAXALIAS 200
#define | MAXFONT 2000
#define | MAXSOURCE 100
#define | MAXDESIGN 200
#define | MAXMETHOD 5
#define | MAXFPERM 1000
#define | MAXREQ 1000

## Define Documentation

#define ARRAY_MAX 1024

#define BEGINLIST | ( | p |  | ) |

#define BUFF_LEN (size_t) 80

#define CGMVERSION 1

#define Char char

#define CLOSELIST | ( | p |  | ) |

#define COLOUR_BITS 8

#define COLOUR_TAB 256

#define const

#define DATADIR ""

#define DEFDOUBLE FALSE

#define DEFFULLSCRN TRUE

#define DEFMOVIE FALSE

#define DEFOUT 'T'

#define DEFQUIET FALSE

#define DEFRALGKSGDP FALSE

#define DEFVERBOSE FALSE

#define Double double

#define ENDLIST | ( | p |  | ) |

#define ERROR_MAX 16

#define EXTLGTH 3

#define F_READ 'r'

#define F_WRITE 'w'

#define FABS | ( | x |  | ) | fabs( (double) (x) )

#define FILESEP "."

#define Float float

#define FREE | ( | x |  | ) | free ( (char *) x )

#define HASHSIZE 280

#define Int int

#define Int16 short

#define LFILEDEF 0

#define Long long

#define LPOINT | ( | p |  | ) | Lpoint *p

#define Lpoint Point

#define MALLOC | ( | n,
|  | s |  | ) | malloc( (size_t) ((n)*(s)) )

#define MAXALIAS 200

#define MAXCSET 1000

#define MAXDESIGN 200

#define MAXFAMILY 2000

#define MAXFLSIZE 80

#define MAXFNSIZE 40

#define MAXFONT 2000

#define MAXFPERM 1000

#define MAXFUDGE 25

#define MAXMETHOD 5

#define MAXPTS 4096

#define MAXREQ 1000

#define MAXSOURCE 100

#define NAMELGTH 8

#define NEWSUBLIST | ( | p |  | ) |

#define NFRAME 100

#define NMETA 10

#define NPOWER 32

#define NULL (int *) 0

#define NULLSTR (char *) NULL

#define OBUFF_LEN (size_t) 512

#define PATHDELIM '/'

#define PATT_TAB 1024

#define PATTERNS 40

#define SET_MAX 50

#define SignChar signed char

#define SQRT | ( | x |  | ) | sqrt( (double) (x) )

#define STOREPOINT | ( | p,
|  | q |  | ) | (*p).x = q.x; (*p++).y = q.y

#define STOREVALUE | ( | p,
|  | q,
|  | r |  | ) | (*p).x = q; (*p++).y = r

#define STRING_MAX 1024

#define VAR_BUFFER

#define volatile