1 /*-------------------------------------------------------------------------
2  *
3  * bytea.h
4  *	  Declarations for BYTEA data type support.
5  *
6  *
7  * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/utils/bytea.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef BYTEA_H
15 #define BYTEA_H
16 
17 #include "fmgr.h"
18 
19 
20 typedef enum
21 {
22 	BYTEA_OUTPUT_ESCAPE,
23 	BYTEA_OUTPUT_HEX
24 }	ByteaOutputType;
25 
26 extern int	bytea_output;		/* ByteaOutputType, but int for GUC enum */
27 
28 /* functions are in utils/adt/varlena.c */
29 extern Datum byteain(PG_FUNCTION_ARGS);
30 extern Datum byteaout(PG_FUNCTION_ARGS);
31 extern Datum bytearecv(PG_FUNCTION_ARGS);
32 extern Datum byteasend(PG_FUNCTION_ARGS);
33 extern Datum byteaoctetlen(PG_FUNCTION_ARGS);
34 extern Datum byteaGetByte(PG_FUNCTION_ARGS);
35 extern Datum byteaGetBit(PG_FUNCTION_ARGS);
36 extern Datum byteaSetByte(PG_FUNCTION_ARGS);
37 extern Datum byteaSetBit(PG_FUNCTION_ARGS);
38 extern Datum byteaeq(PG_FUNCTION_ARGS);
39 extern Datum byteane(PG_FUNCTION_ARGS);
40 extern Datum bytealt(PG_FUNCTION_ARGS);
41 extern Datum byteale(PG_FUNCTION_ARGS);
42 extern Datum byteagt(PG_FUNCTION_ARGS);
43 extern Datum byteage(PG_FUNCTION_ARGS);
44 extern Datum byteacmp(PG_FUNCTION_ARGS);
45 extern Datum bytea_sortsupport(PG_FUNCTION_ARGS);
46 extern Datum byteacat(PG_FUNCTION_ARGS);
47 extern Datum byteapos(PG_FUNCTION_ARGS);
48 extern Datum bytea_substr(PG_FUNCTION_ARGS);
49 extern Datum bytea_substr_no_len(PG_FUNCTION_ARGS);
50 extern Datum byteaoverlay(PG_FUNCTION_ARGS);
51 extern Datum byteaoverlay_no_len(PG_FUNCTION_ARGS);
52 
53 #endif   /* BYTEA_H */
54