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     iml_desktop_t *desktop,
00050     int ns_id,
00051     char *path,
00052     int oflag,
00053     mode_t mode,
00054     int *ns_errno
00055 );
00056 extern int read_ns(
00057     iml_desktop_t *desktop,
00058     int ns_id,
00059     void *ptr,
00060     size_t size,
00061     int *ns_errno
00062 );
00063 extern int write_ns(
00064     iml_desktop_t *desktop,
00065     int ns_id,
00066     void *ptr,
00067     size_t size,
00068     int *ns_errno
00069 );
00070 extern int update_supported_langlist_for_le(
00071     iml_desktop_t *desktop,
00072     IMLEName *lename,
00073     IMLocale *locales,
00074     int nsl
00075 );
00076 extern int switch_le_profile(
00077     iml_session_t *s,
00078     int le_profile_id,
00079     IMLEName *lename
00080 );
00081 extern int close_ns(
00082     iml_desktop_t *desktop,
00083     int ns_id,
00084     int *ns_errno
00085 );
00086 extern char **opendir_ns(
00087     iml_desktop_t *desktop,
00088     int ns_id,
00089     char *dirname,
00090     int *nitems,
00091     int *pns_id,
00092     int ***d_reclen,
00093     int *ns_errno
00094 );
00095 extern int closedir_ns(
00096     iml_desktop_t *desktop,
00097     int ns_id,
00098     int *ns_errno
00099 );
00100 extern int mkdir_ns(
00101     iml_desktop_t *desktop,
00102     int ns_id,
00103     char *path,
00104     mode_t mode,
00105     int *ns_errno
00106 );
00107 extern int rmdir_ns(
00108     iml_desktop_t *desktop,
00109     int ns_id,
00110     char *path,
00111     int *ns_errno
00112 );
00113 extern int symlink_ns(
00114     iml_desktop_t *desktop,
00115     int ns_id,
00116     char *dpath,
00117     char *spath,
00118     int *ns_errno
00119 );
00120 extern int stat_ns(
00121     iml_desktop_t *desktop,
00122     int ns_id,
00123     char *path,
00124     struct stat *stat_buf,
00125     int *ns_errno
00126 );
00127 extern int lstat_ns(
00128     iml_desktop_t *desktop,
00129     int ns_id,
00130     char *path,
00131     struct stat *stat_buf,
00132     int *ns_errno
00133 );
00134 extern int fstat_ns(
00135     iml_desktop_t *desktop,
00136     int ns_id,
00137     struct stat *stat_buf,
00138     int *ns_errno
00139 );
00140 extern int creat_ns(
00141     iml_desktop_t *desktop,
00142     int ns_id,
00143     char *path,
00144     mode_t mode,
00145     int *ns_errno
00146 );
00147 extern off_t lseek_ns(
00148     iml_desktop_t *desktop,
00149     int ns_id,
00150     off_t offset,
00151     int whence,
00152     int *ns_errno
00153 );
00154 extern int unlink_ns(
00155     iml_desktop_t *desktop,
00156     int ns_id,
00157     char *path,
00158     int *ns_errno
00159 );
00160 extern int rename_ns(
00161     iml_desktop_t *desktop,
00162     int ns_id,
00163     char *old_name,
00164     char *new_name,
00165     int *ns_errno
00166 );
00167 extern int fcntl_ns(
00168     iml_desktop_t *desktop,
00169     int ns_id,
00170     int cmd,
00171     int arg,
00172     int *ns_errno
00173 );
00174 extern int truncate_ns(
00175     iml_desktop_t *desktop,
00176     int ns_id,
00177     char *path,
00178     off_t length,
00179     int *ns_errno
00180 );
00181 extern int ftruncate_ns(
00182     iml_desktop_t *desktop,
00183     int ns_id,
00184     off_t length,
00185     int *ns_errno
00186 );
00187 extern iml_inst *iml_execute_iml_wrapper(
00188     iml_session_t *s,
00189     iml_inst **rrv
00190 );
00191 extern iml_if_t *if_OpenIF(
00192     const char *if_path,
00193     const char *if_name,
00194     const char *locale,
00195     Bool call_openif
00196 );
00197 extern void if_CloseIF(
00198     iml_if_t *iml_if,
00199     Bool call_closeif
00200 );
00201 extern Bool if_GetIFValues(iml_if_t *, IMArgList, int);
00202 extern Bool if_SetIFValues(iml_if_t *, IMArgList, int);
00203 extern iml_session_t *if_CreateSC(iml_if_t *, IMArgList, int);
00204 extern Bool if_DestroySC(iml_session_t *);
00205 extern Bool if_DestroySC_WithoutDesktopDestruction(iml_session_t *);
00206 extern Bool if_GetSCValues(iml_session_t *, IMArgList, int);
00207 extern Bool if_SetSCValues(iml_session_t *, IMArgList, int);
00208 extern void if_SendEvent(iml_session_t *, IMInputEvent *);
00209 extern void if_SendEvent_AuxGet(iml_session_t *, IMInputEvent *);
00210 extern IMText *if_ResetSC(iml_session_t *);
00211 extern void if_SetSCFocus(iml_session_t *);
00212 extern void if_UnsetSCFocus(iml_session_t *);
00213 extern void sunim_slot_manager_init();
00214 
00215 #ifdef USE_XSUNIM_ADAPTER
00216 extern void xsunim_slot_manager_init();
00217 #endif /* USE_XSUNIM_ADAPTER */
00218 
00219 extern iml_session_t *iml_construct_session(iml_desktop_t *, IMArgList, int);
00220 extern iml_desktop_t *new_user(
00221     iml_if_t * If,
00222     const char *user_name,
00223     const char *host_name,
00224     const char *display_id
00225 );
00226 extern void del_user(
00227     iml_desktop_t * desktop
00228 );
00229 extern void add_session_to_desktop(
00230     iml_session_t *s
00231 );
00232 
00233 /****************************************
00234        IMLSubr.c
00235  ****************************************/
00236 extern iml_inst* iml_duplicate_inst(
00237     iml_inst *pinst
00238 );
00239 extern void iml_delete_inst(
00240     iml_inst *pinst
00241 );
00242 
00243 extern int IMText_duplicate2(
00244     IMText *pdest, IMText *psrc
00245 );
00246 extern IMText* IMText_duplicate(
00247     IMText *psrc
00248 );
00249 extern void IMText_delete2(
00250     IMText *ptext
00251 );
00252 extern void IMText_delete(
00253     IMText *ptext
00254 );
00255 
00256 #ifdef __cplusplus
00257 }
00258 #endif
00259 
00260 #endif /* SUNIMPUB_H */
00261 
00262 /* Local Variables: */
00263 /* c-file-style: "iiim-project" */
00264 /* End: */