Back to index

im-sdk  12.3.91
SunIMPub.h
Go to the documentation of this file.
00001 /*
00002 Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved.
00003 
00004 Permission is hereby granted, free of charge, to any person obtaining a
00005 copy of this software and associated documentation files (the
00006 "Software"), to deal in the Software without restriction, including
00007 without limitation the rights to use, copy, modify, merge, publish,
00008 distribute, sublicense, and/or sell copies of the Software, and to
00009 permit persons to whom the Software is furnished to do so, subject to
00010 the following conditions: The above copyright notice and this
00011 permission notice shall be included in all copies or substantial
00012 portions of the Software.
00013 
00014 
00015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00016 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00017 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00018 IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE
00019 FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
00020 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
00021 THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF
00022 ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
00023 
00024 
00025 Except as contained in this notice, the names of The Open Group and/or
00026 Sun Microsystems, Inc. shall not be used in advertising or otherwise to
00027 promote the sale, use or other dealings in this Software without prior
00028 written authorization from The Open Group and/or Sun Microsystems,
00029 Inc., as applicable.
00030 
00031 
00032 X Window System is a trademark of The Open Group
00033 
00034 OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
00035 logo, LBX, X Window System, and Xinerama are trademarks of the Open
00036 Group. All other trademarks and registered trademarks mentioned herein
00037 are the property of their respective owners. No right, title or
00038 interest in or to any trademark, service mark, logo or trade name of
00039 Sun Microsystems, Inc. or its licensors is granted.
00040 
00041 */
00042 #ifndef SUNIMPUB_H
00043 #define SUNIMPUB_H
00044 
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048 extern int open_ns(
00049     int ns_id,
00050     char *path,
00051     mode_t mode,
00052     int *fsize
00053 );
00054 extern int read_ns(
00055     int ns_id,
00056     void *ptr,
00057     size_t size
00058 );
00059 extern int write_ns(
00060     int ns_id,
00061     void *ptr,
00062     size_t size
00063 );
00064 extern int update_supported_langlist_for_le(
00065     IMLEName *lename,
00066     IMLocale *locales,
00067     int nsl
00068 );
00069 extern int close_ns(
00070     int ns_id
00071 );
00072 extern int mkdir_ns(
00073     int ns_id,
00074     char *path,
00075     mode_t mode
00076 );
00077 extern int rmdir_ns(
00078     int ns_id,
00079     char *path
00080 );
00081 extern int symlink_ns(
00082     int ns_id,
00083     char *dpath,
00084     char *spath
00085 );
00086 extern int creat_ns(
00087     int ns_id,
00088     char *path,
00089     mode_t mode
00090 );
00091 extern off_t lseek_ns(
00092     int ns_id,
00093     off_t offset,
00094     int whence
00095 );
00096 extern int unlink_ns(
00097     int ns_id,
00098     char *path
00099 );
00100 extern int rename_ns(
00101     int ns_id,
00102     char *old_name,
00103     char *new_name
00104 );
00105 extern int fcntl_ns(
00106     int ns_id,
00107     int cmd,
00108     int arg
00109 );
00110 extern int truncate_ns(
00111     int ns_id,
00112     char *path,
00113     int length
00114 );
00115 extern iml_inst *iml_execute_iml_wrapper(
00116     iml_session_t *s,
00117     iml_inst **rrv
00118 );
00119 extern Bool iml_flush_iml_wrapper(
00120     iml_session_t *s
00121 );
00122 
00123 extern iml_if_t *if_OpenIF(
00124     const char *if_path,
00125     const char *if_name,
00126     const char *locale,
00127     Bool call_openif
00128 );
00129 extern void if_CloseIF(
00130     iml_if_t *iml_if,
00131     Bool call_closeif
00132 );
00133 extern Bool if_GetIFValues(iml_if_t *, IMArgList, int);
00134 extern Bool if_SetIFValues(iml_if_t *, IMArgList, int);
00135 extern iml_session_t *if_CreateSC(iml_if_t *, IMArgList, int);
00136 extern Bool if_DestroySC(iml_session_t *);
00137 extern Bool if_DestroySC_WithoutDesktopDestruction(iml_session_t *);
00138 extern Bool if_GetSCValues(iml_session_t *, IMArgList, int);
00139 extern Bool if_SetSCValues(iml_session_t *, IMArgList, int);
00140 extern void if_SendEvent(iml_session_t *, IMInputEvent *);
00141 extern void if_SendEvent_AuxGet(iml_session_t *, IMInputEvent *);
00142 extern IMText *if_ResetSC(iml_session_t *);
00143 extern void if_SetSCFocus(iml_session_t *);
00144 extern void if_UnsetSCFocus(iml_session_t *);
00145 extern void sunim_slot_manager_init();
00146 
00147 #ifdef USE_XSUNIM_ADAPTER
00148 extern void xsunim_slot_manager_init();
00149 #endif /* USE_XSUNIM_ADAPTER */
00150 
00151 extern iml_session_t *iml_construct_session(iml_desktop_t *, IMArgList, int);
00152 extern iml_desktop_t *new_user(
00153     iml_if_t * If,
00154     const char *user_name,
00155     const char *host_name,
00156     const char *display_id
00157 );
00158 extern void del_user(
00159     iml_desktop_t * desktop
00160 );
00161 extern void add_session_to_desktop(
00162     iml_session_t *s
00163 );
00164 
00165 /****************************************
00166        IMLSubr.c
00167  ****************************************/
00168 extern iml_inst* iml_duplicate_inst(
00169     iml_inst *pinst
00170 );
00171 extern void iml_delete_inst(
00172     iml_inst *pinst
00173 );
00174 
00175 extern int IMText_duplicate2(
00176     IMText *pdest, IMText *psrc
00177 );
00178 extern IMText* IMText_duplicate(
00179     IMText *psrc
00180 );
00181 extern void IMText_delete2(
00182     IMText *ptext
00183 );
00184 extern void IMText_delete(
00185     IMText *ptext
00186 );
00187 
00188 #ifdef __cplusplus
00189 }
00190 #endif
00191 
00192 #endif /* SUNIMPUB_H */
00193 
00194 /* Local Variables: */
00195 /* c-file-style: "iiim-project" */
00196 /* End: */