📄 globerr.h
字号:
Under Windows and PM, since each ixport is a separate DLL with separate DS
space, all offsets are set to 0.
*/
#if defined(UNIX) || defined(MAC)
#define NETPKG_TCP 0 /* Leave at least 20 string offsets for TCP */
#define NETPKG_ATALK 20 /* Leave 35 codes for AppleTalk */
#define NETPKG_NWSPX 55
#else
#define NETPKG_TCP 0
#define NETPKG_ATALK 0
#define NETPKG_NWSPX 0
#define NETPKG_NETBIOS 0
#endif
/* Define offsets within PKG_IMPORT and PKG_EXPORT for import/exports */
/* On the Mac, since all ixports are compiled into Notes, their strings must have unique IDs.
We avoid using a separate PKG for each by defining the offset of each ixport's first string below.
There is some room for expansion, but people adding strings should be aware of the extent
of their allocated ID space, and change it here if necessary, afterwards recompiling all
dependent ixports!
Under Windows and PM, since each ixport is a separate DLL with separate DS space,
all offsets are set to 0.
Since TARGA, W4W and WMF are not to be ported to the Mac, we don't currently bother with
defining offsets for them.
*/
#if defined(MAC) || defined(UNIX) /* On Mac & UNIX, we need to subdivide */
#define IMPKG_IFL 0
#define IMPKG_IPCX 50
#define IMPKG_IPIC 60
#define IMPKG_IRTF 70
#define IMPKG_ISTF 80
#define IMPKG_ISTR 90
#define IMPKG_ITAB 100
#define IMPKG_ITEXT 135
#define IMPKG_ITIFF 145
#define IMPKG_IWKSE 160
#define IMPKG_IWKSV 180
#define IMPKG_ALL 212 /* 18 common strings shared by all Iris IX modules */
#define IMPKG_IBMP 230
#define IMPKG_IGIF 235
#define IMPKG_IW4W 240
#define IMPKG_ISTRNGS 250
#define IMPKG_IJPEG 252
#define EXPKG_XCGM 0
#define EXPKG_XRTF 10
#define EXPKG_XSTF 20
#define EXPKG_XSTR 65
#define EXPKG_XTAB 90
#define EXPKG_XTEXT 100
#define EXPKG_XTIFF 110
#define EXPKG_XWKS 120
#define EXPKG_ALL 130 /* 20 common strings shared by all Iris IX modules */
#define EXPKG_XW4W 150
#define EXPKG_XVCRD 170
#define EXPKG_XVCRD3 180
#define EXPKG_XCSV 200
#else /* PC versions - On PC, we don't subdivide - each has own DLL! */
#define IMPKG_IFL 0
#define IMPKG_IPCX 0
#define IMPKG_IPIC 0
#define IMPKG_IRTF 0
#define IMPKG_ISTF 0
#define IMPKG_ISTR 0
#define IMPKG_ITAB 0
#define IMPKG_ITARGA 0
#define IMPKG_ITEXT 0
#define IMPKG_ITIFF 0
#define IMPKG_IWKSE 0
#define IMPKG_IWKSV 0
#define IMPKG_IWMF 0
#define IMPKG_IBMP 0
#define IMPKG_IGIF 0
#define IMPKG_IW4W 0
#define IMPKG_ISTRNGS 0
#define IMPKG_IJPEG 0
#define IMPKG_ALL 32 /* 18 common strings shared by all Iris IX modules */
/* (Reserve 0-32 for IX-specific strings) */
#define EXPKG_XCGM 0
#define EXPKG_XCSV 0
#define EXPKG_XRTF 0
#define EXPKG_XSTF 0
#define EXPKG_XSTR 0
#define EXPKG_XTAB 0
#define EXPKG_XTEXT 0
#define EXPKG_XTIFF 0
#define EXPKG_XVCRD 0
#define EXPKG_XVCRD3 0
#define EXPKG_XW4W 0
#define EXPKG_XWKS 0
#define EXPKG_ALL 50 /* 20 common strings shared by all Iris IX modules */
/* (Reserve 0-50 for IX-specific strings) */
#endif
/* Define error code status flags. The top two bits of the error code
are reserved for this purpose */
#define STS_DISPLAYED ((STATUS) 0x8000) /* error has already been displayed */
#define ERROR_DISPLAYED(x) ((x) & STS_DISPLAYED)
#define STS_REMOTE ((STATUS) 0x4000) /* error came from remote machine */
#define ERROR_REMOTE(x) ((x) & STS_REMOTE)
#define RAWBLK(x) ((STATUS) ((x)&~(STS_DISPLAYED|STS_REMOTE)))
#define NOBLK(x) ((STATUS) ((x)&(STS_DISPLAYED|STS_REMOTE)))
#define ERR_MASK 0x3fff
#define PKG_MASK 0x3f00
#define ERRNUM_MASK 0x00ff
#define STRING_MASK 0x8000
#define IS_STRING(x) ((x)&STRING_MASK ? TRUE : FALSE) /* is this code a string code? */
/* Remove the DISPLAYED bit - use when logging errors to avoid overlap with string IDs that now (R6+) include the STS_DISPLAYED bit */
#define ND(x) ((STATUS) ((x) & ~STS_DISPLAYED))
#define ERR(x) ((STATUS) ((x) & ERR_MASK)) /* Use when comparing errors to a constant - if (ERR(error) == ERR_QUIT) */
#define ERRNUM(x) ((STATUS) ((x) & ERRNUM_MASK)) /* Just the error number, no flags or pkg code. Doesn't work with new PKG codes */
#define PKG(x) ((STATUS) ((x) & PKG_MASK)) /* Get the package code for errors only - obsolete given new pkg codes */
#define IS_PKG(x,pkg) ((BOOL)(((PKG_MASK | pkg) & x) == pkg)) /* Is error x in PKG pkg? */
/* Define memory allocator hints, which re-use the top 2 bits of
the BLK_ codes so that we didn't have to add a new argument to
OSMemAlloc() */
#define MEM_SHARE ((WORD) 0x8000) /* Object may be used by multiple processes */
#define MEM_GROWABLE ((WORD) 0x4000) /* Object may be OSMemRealloc'ed LARGER */
/* Define macros which are used when defining error codes to provide text
for each error message. The macro normally generates nothing when
compiled by the C compiler, but will be defined to generate text when
used in the resource (.RC) file. (See also prestr.h.) */
/* "errortext" designates a user-displayed message (success, error, warning).
This are translated, and may be shown to a user. There should be
online help for most of these messages. */
#define errortext(code,text)
/* "helptext" designates the "Menu Help" messages displayed on the top
line of the screen when you drag across a menu item. There is usually
also further online help associated with each of these menu items. */
#define helptext(helpid,code,text)
/* "stringtext" designates translatable text fragments that need to be
translated, but are not shown to the user as a "message" (error,
warning or otherwise). There should be no online help for these. */
#define stringtext(code,text)
/* "apitext" designates API-only messages. This could be translated
(for foreign API programmers) but NEVER shown to a user. */
#define apitext(code,text)
/* "debugtext" designates DEBUG-only messages. This is not to be
translated and never shown to a user. */
#define debugtext(code,text)
/* "internaltext" designates STATUS codes used to indicate a condition
passed between 2 subsystems, but NEVER displayed to a user. The text
associated with "internaltext" is NOT EVEN STORED in the executables,
and thus, never translated or shown to a user. */
#define internaltext(code,text)
/* "blocktext" designates DEBUG-only descriptions of internal storage
allocation types. This is not to be translated and never shown to a user. */
#define blocktext(code,text)
/* "semtext" designates DEBUG-only descriptions of internal semaphore
types. This is not to be translated and never shown to a user. */
#define semtext(code,text)
/* "donottranslatetext" designates text which must not be translated.
This text may be included in a resource file in order to facilitate
configuration changes, such as a string which controls program behavior.
Or it may be included in order to clearly indicate that the developer
intends for the text to remain untranslated.
*/
#define donottranslatetext(code,text)
/* "limitedasciitext" designates text which is constrained to a limited
subset of ASCII characters. One use of this macro is for strings used as
part of Internet protocols which do not allow for non-ascii text.
The exact limitations will vary with usage, but will usually be
restricted to 7-bit ascii, excluding '\0'. These strings MAY be
translated to other languages, but must keep within the limited ascii
characters allowed. For example, translation into French is permitted,
but no accented characters may be used.
*/
#define limitedasciitext(code,text)
#endif
#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -