You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.0 KiB
107 lines
3.0 KiB
/*
|
|
* Adobe Graphics Manager
|
|
*
|
|
* Copyright (c) 1996 Adobe Systems Inc.
|
|
* All Rights Reserved
|
|
*
|
|
* UFLStd -- UFL C Standard APIs.
|
|
*
|
|
*
|
|
* $Header:
|
|
*/
|
|
|
|
#ifndef _H_UFLStd
|
|
#define _H_UFLStd
|
|
|
|
#ifdef WIN32KERNEL
|
|
|
|
//
|
|
// Definitions for NT Kernel mode driver.
|
|
//
|
|
#define UFLmemsetShort memset
|
|
#define UFLstrlen strlen
|
|
#define UFLstrcmp strcmp
|
|
#define UFLstrcmpW _tcscmp
|
|
|
|
int UFLsprintf(char *buf, size_t cchDest, const char *fmtstr, ...);
|
|
long UFLstrtol (const char *nptr, char **endptr, int ibase);
|
|
|
|
#define KStringCchCopyA(d,l,s) strcpy(d,s)
|
|
|
|
#else // !WIN32KERNEL
|
|
|
|
//
|
|
// Definitions for NT/9x User mode driver.
|
|
//
|
|
#include <memory.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#define UFLmemsetShort memset
|
|
#define UFLstrlen strlen
|
|
#define UFLstrcmp strcmp
|
|
|
|
#define UFLsprintf StringCchPrintfA
|
|
#define UFLstrtol strtol
|
|
|
|
#define KStringCchCopyA(d,l,s) StringCchCopyA(d,l,s)
|
|
|
|
//
|
|
// We need a strcmp function that is aware of Unicode on Unicode savvy
|
|
// platform or application.
|
|
//
|
|
#ifdef UNICODE
|
|
|
|
#include <tchar.h>
|
|
#define UFLstrcmpW _tcscmp
|
|
#include <strsafe.h>
|
|
|
|
#else
|
|
|
|
/* Although UFLstrcmpW is defined as strcmpW and strcmpW is defined in */
|
|
/* UFLSPROC.C, it is not prototyped anywhere. We prototype it here so */
|
|
/* we can avoid a "strcmpW() not defined" error in PARSETT.C */
|
|
/* jfu: 8-13-97 */
|
|
int strcmpW ( unsigned short *str1, unsigned short *str2 );
|
|
#define UFLstrcmpW strcmpW
|
|
|
|
/* _ltoa() and _ultoa() are specific to NT and Win32, but unix and mac */
|
|
/* environments define these in UFLSPROC.C, so prototype them here. */
|
|
/* jfu: 8-13-97 */
|
|
char *_ltoa( long val, char *str, int radix );
|
|
char *_ultoa( unsigned long val, char *str, int radix );
|
|
|
|
#endif // UNICODE
|
|
|
|
#endif // WIN32KERNEL
|
|
|
|
/*
|
|
This is NOT a full implementation of "sprintf" as found
|
|
in the C runtime library. Specifically, the only form of
|
|
format specification allowed is %type, where "type" can
|
|
be one of the following characters:
|
|
|
|
d int signed decimal integer
|
|
l long signed decimal integer
|
|
ld long signed decimal integer
|
|
lu unsigned long unsigned decimal integer
|
|
u unsigned int unsigned decimal integer
|
|
s char* character string
|
|
c char character
|
|
x,X unsigned long hex number (emits at least two digits, uppercase)
|
|
b UFLBool boolean (true or false)
|
|
f long 24.8 fixed-pointed number
|
|
|
|
Normally, you should use UFLsprintf. Use this function
|
|
only when you want to sprintf with %f in the form of 24.8 fixed point
|
|
number. Currently, it is only used in UFOt42 module.
|
|
*/
|
|
|
|
int UFLsprintfEx(char *buf, size_t cchDest, const char *fmtstr, ...);
|
|
|
|
//
|
|
// Count of characters
|
|
//
|
|
#define CCHOF(x) (sizeof(x)/sizeof(*(x)))
|
|
|
|
#endif
|