text: /* $PostgreSQL$ */
  
  #ifndef __PGTYPES_COMMON_H__
  #define __PGTYPES_COMMON_H__
  
  #include "pgtypes_error.h"
  
  /* These are the constants that decide which printf() format we'll use in
   * order to get a string representation of the value */
  #define PGTYPES_TYPE_NOTHING			0
  #define PGTYPES_TYPE_STRING_MALLOCED		1
  #define PGTYPES_TYPE_STRING_CONSTANT		2
  #define PGTYPES_TYPE_CHAR			3
  #define PGTYPES_TYPE_DOUBLE_NF			4		/* no fractional part */
  #define PGTYPES_TYPE_INT64			5
  #define PGTYPES_TYPE_UINT			6
  #define PGTYPES_TYPE_UINT_2_LZ			7		/* 2 digits, pad with leading
  												 * zero */
  #define PGTYPES_TYPE_UINT_2_LS			8		/* 2 digits, pad with leading
  												 * space */
  #define PGTYPES_TYPE_UINT_3_LZ			9
  #define PGTYPES_TYPE_UINT_4_LZ			10
  #define PGTYPES_TYPE_UINT_LONG			11
  
  #define PGTYPES_FMT_NUM_MAX_DIGITS		40
  
  union un_fmt_comb
  {
  	char	   *str_val;
  	unsigned int uint_val;
  	char		char_val;
  	unsigned long int luint_val;
  	double		double_val;
  	int64		int64_val;
  };
  
  int			pgtypes_fmt_replace(union un_fmt_comb, int, char **, int *);
  
  char	   *pgtypes_alloc(long);
  char	   *pgtypes_strdup(char *);
  
  #ifndef bool
  #define bool char
  #endif   /* ndef bool */
  
  #ifndef FALSE
  #define FALSE	0
  #endif   /* FALSE */
  
  #ifndef TRUE
  #define TRUE	   1
  #endif   /* TRUE */
  
  #endif   /* __PGTYPES_COMMON_H__ */
  