123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- /*
- * Licensed Materials - Property of IBM and/or HCL
- *
- * IBM Informix Dynamic Server
- * (c) Copyright IBM Corporation 1996, 2004 All rights reserved.
- * (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved.
- *
- ***************************************************************************
- *
- * Title: miloback.h
- * Description:
- * MIAPI large object interface (backward compatible)
- *
- ***************************************************************************
- */
-
- #ifndef _MILOBACK_H_
- #define _MILOBACK_H_
- #include "miback.h"
- /*
- * Data Structures
- */
- typedef MI_LO_HANDLE MI_LOHANDLE;
- typedef MI_LO_FD MI_LODESC;
- typedef struct mi_lo_info
- {
- mi_integer minfo_len;
- mi_integer minfo_smgr;
- mi_integer minfo_asmgr;
- mi_integer minfo_cnt;
- mi_integer minfo_lastmod;
- mi_integer minfo_lastmodusec;
- mi_integer minfo_archcnt;
- void MI_FAR *minfo_dummy1; /* linfo_storage */
- void MI_FAR *minfo_dummy2; /* linfo_astorage */
- #if !defined(ALPHA_OSF)
- void MI_FAR *minfo_dummy3; /* XXX pad */
- void MI_FAR *minfo_dummy4; /* XXX pad */
- #endif /* !ALPHA_OSF */
- } MI_LOINFO;
- /* struct returned by mi_large_object_stat */
- typedef struct mi_lostat
- {
- mi_integer mist_len;
- MI_LOINFO mist_loinfo;
- mi_integer mist_ino;
- mi_integer mist_mode;
- mi_unsigned_integer mist_size;
- mi_unsigned_integer mist_sizehigh;
- mi_integer mist_uid;
- mi_integer mist_atime;
- mi_integer mist_mtime;
- mi_integer mist_ctime;
- char mist_type;
- char mist_spare1;
- char mist_spare2;
- char mist_spare3;
- } MI_LOSTAT;
- /* Create and Copy Flag */
- #define MI_LO_INTERNAL_LO 0x00000000
- /* Storage Manager */
- #define MI_LO_NOSMGR (-1)
- #define MI_LO_DEFAULT_SMGR 0
- /* Prot flags for Map */
- #define MI_LO_PROT_READ 1
- #define MI_LO_PROT_WRITE 2
- /* flags for Map ('shared' not supported in UDS) */
- #define MI_LO_MAP_PRIVATE 2
- /* File transfer flags */
- #define MI_LO_CLIENT_FILE MI_O_CLIENT_FILE
- #define MI_LO_SERVER_FILE MI_O_SERVER_FILE
- /*
- * Large Object Interface: Function Prototypes
- */
- EXTERNC_BEGIN
- MI_DECL
- MI_LOHANDLE * MI_PROC_EXPORT
- mi_large_object_create ARGS((MI_CONNECTION *conn_desc,
- const char *filename,
- mi_integer flags,
- mi_integer mode,
- mi_integer smgr,
- mi_integer asmgr));
-
- MI_DECL
- MI_LOHANDLE * MI_PROC_EXPORT
- mi_large_object_create_opts ARGS((MI_CONNECTION *conn_desc,
- const char *filename,
- mi_integer flags,
- mi_integer mode,
- mi_integer smgr,
- mi_integer asmgr,
- const char *smgropts,
- const char *asmgropts));
-
- MI_DECL
- MI_LODESC MI_PROC_EXPORT
- mi_large_object_open ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lo_handle,
- mi_integer flags));
-
- MI_DECL
- MI_LOHANDLE * MI_PROC_EXPORT
- mi_large_object_copy ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lo_handle,
- const char *filename,
- mi_integer flags,
- mi_integer mode,
- mi_integer smgr,
- mi_integer asmgr));
-
- MI_DECL
- MI_LOHANDLE * MI_PROC_EXPORT
- mi_large_object_copy_opts ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lo_handle,
- const char *filename,
- mi_integer flags,
- mi_integer mode,
- mi_integer smgr,
- mi_integer asmgr,
- const char *smgropts,
- const char *asmgropts));
-
- MI_DECL
- MI_LOHANDLE * MI_PROC_EXPORT
- mi_file_to_large_object ARGS((MI_CONNECTION *conn_desc,
- char *filename,
- mi_integer flags,
- mi_integer smgr,
- mi_integer asmgr,
- const char *smgropts,
- const char *asmgropts));
-
- #if 0 /* not supported */
- MI_DECL
- MI_LOHANDLE * MI_PROC_EXPORT
- mi_large_object_to_lohandle ARGS((mi_large_object *lo));
- #endif /* 0 - not supported */
-
- MI_DECL
- MI_LOINFO * MI_PROC_EXPORT
- mi_large_object_info ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lo_handle));
-
- MI_DECL
- MI_LOSTAT * MI_PROC_EXPORT
- mi_large_object_stat ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc));
-
- MI_DECL
- char * MI_PROC_EXPORT
- mi_file_to_file ARGS((MI_CONNECTION *conn_desc,
- const char *fromfile,
- mi_integer fromflags,
- const char *tofile,
- mi_integer toflags));
- MI_DECL
- const char * MI_PROC_EXPORT
- mi_large_object_filename ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lohandle,
- const char *spec));
-
- MI_DECL
- const char * MI_PROC_EXPORT
- mi_large_object_to_file ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lohandle,
- const char *spec,
- mi_integer flags));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_close ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_decrefcount ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lo_handle));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_increfcount ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE *lo_handle));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_read ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc,
- char *buf,
- mi_integer nbytes));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_readwithseek ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc,
- char *buf,
- mi_integer nbytes,
- mi_integer off,
- mi_integer whence));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_seek ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc,
- mi_integer offset,
- mi_integer whence));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_tell ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc));
-
- MI_DECL
- char * MI_PROC_EXPORT
- mi_large_object_map ARGS((MI_CONNECTION *mi_conn,
- MI_LODESC lodesc,
- mi_integer len,
- mi_integer prot,
- mi_integer off,
- mi_integer flags));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_unmap ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc,
- char *addr));
-
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_write ARGS((MI_CONNECTION *conn_desc,
- MI_LODESC lodesc,
- const char *buf,
- mi_integer len));
-
- #if 0 /* not supported */
- MI_DECL
- mi_large_object * MI_PROC_EXPORT
- mi_lohandle_to_large_object ARGS((MI_LOHANDLE *lohandle));
-
- MI_DECL
- mi_varlena * MI_PROC_EXPORT
- mi_large_object_handles ARGS((MI_CONNECTION *conn_desc,
- MI_LOHANDLE * mi_lohandle[],
- mi_integer cnt));
- #endif /* 0 - not supported */
-
- MI_DECL
- MI_LOHANDLE * MI_PROC_EXPORT
- mi_large_object_expand ARGS((MI_CONNECTION *conn_desc,
- MI_MULTIREP_DATA *multidata,
- mi_integer len,
- mi_integer smgr,
- mi_integer asmgr,
- const char *smgropts,
- const char *asmgropts));
-
- MI_DECL
- void * MI_PROC_EXPORT
- mi_large_object_pin ARGS((MI_CONNECTION *mi_conn,
- MI_MULTIREP_SIZE size,
- MI_MULTIREP_DATA *mptr));
- MI_DECL
- mi_integer MI_PROC_EXPORT
- mi_large_object_unpin ARGS((MI_CONNECTION *mi_conn,
- MI_MULTIREP_SIZE,
- MI_MULTIREP_DATA *mptr));
- EXTERNC_END
-
-
- #endif /* _MILOBACK_H_ */
|