Header And Logo

PostgreSQL
| The world's most advanced open source database.

be-fsstubs.h

Go to the documentation of this file.
00001 /*-------------------------------------------------------------------------
00002  *
00003  * be-fsstubs.h
00004  *
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/libpq/be-fsstubs.h
00011  *
00012  *-------------------------------------------------------------------------
00013  */
00014 #ifndef BE_FSSTUBS_H
00015 #define BE_FSSTUBS_H
00016 
00017 #include "fmgr.h"
00018 
00019 /*
00020  * LO functions available via pg_proc entries
00021  */
00022 extern Datum lo_import(PG_FUNCTION_ARGS);
00023 extern Datum lo_import_with_oid(PG_FUNCTION_ARGS);
00024 extern Datum lo_export(PG_FUNCTION_ARGS);
00025 
00026 extern Datum lo_creat(PG_FUNCTION_ARGS);
00027 extern Datum lo_create(PG_FUNCTION_ARGS);
00028 
00029 extern Datum lo_open(PG_FUNCTION_ARGS);
00030 extern Datum lo_close(PG_FUNCTION_ARGS);
00031 
00032 extern Datum loread(PG_FUNCTION_ARGS);
00033 extern Datum lowrite(PG_FUNCTION_ARGS);
00034 
00035 extern Datum lo_lseek(PG_FUNCTION_ARGS);
00036 extern Datum lo_tell(PG_FUNCTION_ARGS);
00037 extern Datum lo_lseek64(PG_FUNCTION_ARGS);
00038 extern Datum lo_tell64(PG_FUNCTION_ARGS);
00039 extern Datum lo_unlink(PG_FUNCTION_ARGS);
00040 extern Datum lo_truncate(PG_FUNCTION_ARGS);
00041 extern Datum lo_truncate64(PG_FUNCTION_ARGS);
00042 
00043 /*
00044  * compatibility option for access control
00045  */
00046 extern bool lo_compat_privileges;
00047 
00048 /*
00049  * These are not fmgr-callable, but are available to C code.
00050  * Probably these should have had the underscore-free names,
00051  * but too late now...
00052  */
00053 extern int  lo_read(int fd, char *buf, int len);
00054 extern int  lo_write(int fd, const char *buf, int len);
00055 
00056 /*
00057  * Cleanup LOs at xact commit/abort
00058  */
00059 extern void AtEOXact_LargeObject(bool isCommit);
00060 extern void AtEOSubXact_LargeObject(bool isCommit, SubTransactionId mySubid,
00061                         SubTransactionId parentSubid);
00062 
00063 #endif   /* BE_FSSTUBS_H */