summaryrefslogtreecommitdiff
path: root/plugins/LotusNotify/src/cnotesapi/include/osmisc.h
blob: 9f3de254170e6f21cf430e564f2fdd8d605baa43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109

#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(P128)
#endif

/*********************************************************************/
/*                                                                   */
/* Licensed Materials - Property of IBM                              */
/*                                                                   */
/* L-GHUS-5VMPGW, L-GHUS-5S3PEE                                      */
/* (C) Copyright IBM Corp. 1989, 2005  All Rights Reserved           */
/*                                                                   */
/* US Government Users Restricted Rights - Use, duplication or       */
/* disclosure restricted by GSA ADP Schedule Contract with           */
/* IBM Corp.                                                         */
/*                                                                   */
/*********************************************************************/



#ifndef OSMISC_DEFS
#define OSMISC_DEFS

#ifdef __cplusplus
extern "C" {
#endif


#ifndef NLS_H
#include "nls.h"						/* Need NLS_PINFO */
#endif

/*	String resource loading routine */

WORD LNPUBLIC		OSLoadString (HMODULE hModule, STATUS StringCode, char far *retBuffer, WORD BufferLength);
/*	Charsets used with OSTranslate */

#define OS_TRANSLATE_NATIVE_TO_LMBCS 	0	/* Translate platform-specific to LMBCS */
#define OS_TRANSLATE_LMBCS_TO_NATIVE 	1	/* Translate LMBCS to platform-specific */
#define	OS_TRANSLATE_LOWER_TO_UPPER		3	/* current int'l case table */
#define	OS_TRANSLATE_UPPER_TO_LOWER		4	/* current int'l case table */
#define OS_TRANSLATE_UNACCENT			5  	/* int'l unaccenting table */

#ifdef DOS									
#define OS_TRANSLATE_OSNATIVE_TO_LMBCS 	7  	/* Used in DOS (codepage) */
#define OS_TRANSLATE_LMBCS_TO_OSNATIVE 	8  	/* Used in DOS			*/
#elif defined (OS2)
#define OS_TRANSLATE_OSNATIVE_TO_LMBCS 	OS_TRANSLATE_NATIVE_TO_LMBCS
#define OS_TRANSLATE_LMBCS_TO_OSNATIVE 	OS_TRANSLATE_LMBCS_TO_NATIVE
#else
#define OS_TRANSLATE_OSNATIVE_TO_LMBCS 	OS_TRANSLATE_NATIVE_TO_LMBCS
#define OS_TRANSLATE_LMBCS_TO_OSNATIVE 	OS_TRANSLATE_LMBCS_TO_NATIVE
#endif

#if defined(DOS) || defined(OS2)
#define OS_TRANSLATE_LMBCS_TO_ASCII		13
#else
#define OS_TRANSLATE_LMBCS_TO_ASCII		11
#endif

#define OS_TRANSLATE_LMBCS_TO_UNICODE	20
#define OS_TRANSLATE_LMBCS_TO_UTF8		22
#define OS_TRANSLATE_UNICODE_TO_LMBCS	23
#define OS_TRANSLATE_UTF8_TO_LMBCS		24


/*	Character Set Translation Routines */

WORD LNPUBLIC		OSTranslate(WORD TranslateMode, const char far *In, WORD InLength, char far *Out, WORD OutLength);

/*	Dynamic link library portable load routines */

STATUS	LNPUBLIC	OSLoadLibrary (const char far *LibraryName, DWORD Flags, HMODULE far *rethModule, void far *retEntryPoint);
void	LNPUBLIC	OSFreeLibrary (HMODULE);
#define OS_LOADPROG_ICONIC			0x0001 	/* Don't show application window */
#define OS_LOADPROG_BACKGROUND		0x0002 	/* Don't bring to the foreground */
#define	OS_LOADPROG_DEBUG			0x0004 	/* Start with QNC */
#define	OS_LOADPROG_DETACHED		0x0008 	/* Don't wait around for this process to exit */
#define	OS_LOADPROG_ASSOCIATE		0x0010 	/* Look for a file type association */
#define	OS_LOADPROG_PRIORITY_LOW	0x0020 	/* Start process with a lower priority */
#define OS_LOADPROG_SHELL_SCRIPT_USE_EXECVP 0x0040 /* Flag to signal a shell script, so we can use execvp instead of execv. Currently on use only on AIX */
#define OS_LOADPROG_OPEN_WITH		0x0080 /* Flag to add the necessary things to do an open with command. Currently on use only on NT */


STATUS	LNPUBLIC	OSLoadProgram (char far *filename, char far *WorkingDir, char far *Arguments, WORD Flags);

/*	Routine used in non-premptive platforms to simulate it. */

#ifdef PREEMPTIVE
#define	OSPreemptOccasionally()
#else
void	LNPUBLIC	OSPreemptOccasionally (void);
#endif
/*	Notes-specific NLS definitions */

NLS_PINFO LNPUBLIC		OSGetLMBCSCLS(void);
NLS_PINFO LNPUBLIC		OSGetNativeCLS(void);

#ifdef __cplusplus
}
#endif

#endif


#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(pop)
#endif