// file: $USFS/class/ppm/v1.0/ppm_constants.h
//
// this file defines global paths, filenames and constants of the ppm class
//

// make sure definitions are made only once
//
#ifndef __ISIP_PPM_CONSTANTS
#define __ISIP_PPM_CONSTANTS

// isip include files
//
#ifndef __ISIP_INTEGRAL
#include <integral.h>
#endif

// define the class name
//
#define PPM_CLASS_NAME (char_1*)"Ppm"

// define the magic number - we only accept P6 format, which
// uses three bytes per pixel, one byte for each color.
//
#define PPM_MAGIC_NUMBER (char_1*)"P6"
#define PPM_NBYTES_PER_PIXEL (int_4)3

// define information needed to process the header, such as comment fields
//
#define PPM_HEADER_NUM_LINES (int_4)3
#define PPM_HEADER_COMMENT_CHAR (char_1)'#'

// define the maximum color value
//
#define PPM_MAX_COLOR (int_4)255

// define header formats
//
#define PPM_HEADER_R0 (char_1*)"%s"
#define PPM_HEADER_R1 (char_1*)"%ld%ld"
#define PPM_HEADER_R2 (char_1*)"%ld"

#define PPM_HEADER_W (char_1*)"%s\n%ld %ld\n%ld\n"

// define the characters used to trigger filename expansion
// via a system call - since this is expensive, we only want to do
// it when it is absolutely necessary
//
#define PPM_ENV_DELIMITERS "$~(){}[]?"

// end of file
//
#endif
