
/* File:			lobj.h
 *
 * Description:		See "lobj.c"
 *
 * Comments:		See "notice.txt" for copyright and license information.
 *
 */

#ifndef __LOBJ_H__
#define __LOBJ_H__


#include "psqlodbc.h"

struct lo_arg
{
	int			isint;
	int			len;
	union
	{
		int			integer;
		char	   *ptr;
	}			u;
};

#define LO_CREAT		957
#define LO_OPEN			952
#define LO_CLOSE		953
#define LO_READ			954
#define LO_WRITE		955
#define LO_LSEEK		956
#define LO_TELL			958
#define LO_UNLINK		964

#define INV_WRITE		0x00020000
#define INV_READ		0x00040000

Oid			lo_creat(ConnectionClass *conn, int mode);
int			lo_open(ConnectionClass *conn, int lobjId, int mode);
int			lo_close(ConnectionClass *conn, int fd);
int			lo_read(ConnectionClass *conn, int fd, char *buf, int len);
int			lo_write(ConnectionClass *conn, int fd, char *buf, int len);
int			lo_lseek(ConnectionClass *conn, int fd, int offset, int len);
int			lo_tell(ConnectionClass *conn, int fd);
int			lo_unlink(ConnectionClass *conn, Oid lobjId);

#endif
