00001 /*------------------------------------------------------------------------- 00002 * 00003 * bytea.h 00004 * Declarations for BYTEA data type support. 00005 * 00006 * 00007 * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group 00008 * Portions Copyright (c) 1994, Regents of the University of California 00009 * 00010 * src/include/utils/bytea.h 00011 * 00012 *------------------------------------------------------------------------- 00013 */ 00014 #ifndef BYTEA_H 00015 #define BYTEA_H 00016 00017 #include "fmgr.h" 00018 00019 00020 typedef enum 00021 { 00022 BYTEA_OUTPUT_ESCAPE, 00023 BYTEA_OUTPUT_HEX 00024 } ByteaOutputType; 00025 00026 extern int bytea_output; /* ByteaOutputType, but int for GUC enum */ 00027 00028 /* functions are in utils/adt/varlena.c */ 00029 extern Datum byteain(PG_FUNCTION_ARGS); 00030 extern Datum byteaout(PG_FUNCTION_ARGS); 00031 extern Datum bytearecv(PG_FUNCTION_ARGS); 00032 extern Datum byteasend(PG_FUNCTION_ARGS); 00033 extern Datum byteaoctetlen(PG_FUNCTION_ARGS); 00034 extern Datum byteaGetByte(PG_FUNCTION_ARGS); 00035 extern Datum byteaGetBit(PG_FUNCTION_ARGS); 00036 extern Datum byteaSetByte(PG_FUNCTION_ARGS); 00037 extern Datum byteaSetBit(PG_FUNCTION_ARGS); 00038 extern Datum byteaeq(PG_FUNCTION_ARGS); 00039 extern Datum byteane(PG_FUNCTION_ARGS); 00040 extern Datum bytealt(PG_FUNCTION_ARGS); 00041 extern Datum byteale(PG_FUNCTION_ARGS); 00042 extern Datum byteagt(PG_FUNCTION_ARGS); 00043 extern Datum byteage(PG_FUNCTION_ARGS); 00044 extern Datum byteacmp(PG_FUNCTION_ARGS); 00045 extern Datum byteacat(PG_FUNCTION_ARGS); 00046 extern Datum byteapos(PG_FUNCTION_ARGS); 00047 extern Datum bytea_substr(PG_FUNCTION_ARGS); 00048 extern Datum bytea_substr_no_len(PG_FUNCTION_ARGS); 00049 extern Datum byteaoverlay(PG_FUNCTION_ARGS); 00050 extern Datum byteaoverlay_no_len(PG_FUNCTION_ARGS); 00051 00052 #endif /* BYTEA_H */