Leaked source code of windows server 2003
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.
 
 
 
 
 
 

142 lines
4.2 KiB

/*
* Adobe Universal Font Library
*
* Copyright (c) 1996 Adobe Systems Inc.
* All Rights Reserved
*
* UFLStrm.h -- UFL Output Stream
*
*
* $Header:
*/
#ifndef _H_UFLStrm
#define _H_UFLStrm
/*===============================================================================*
* Include files used by this interface *
*===============================================================================*/
#include "UFL.h"
/*===============================================================================*
* Theory of Operation *
*===============================================================================*/
/*
UFL Output stream buffers and output data in different format such as eexec encrypt data format, and ASCIIHex.
*/
/*===============================================================================*
* Constants/Macros *
*===============================================================================*/
#ifdef MAC_ENV
/* Place Mac Macros here.... !!! MAC - Check its correctness!!! */
#define GET_HIBYTE(c) (((c) & 0x00FF) >> 8)
#define GET_LOBYTE(c) ((c) & 0xFF00)
#else
/* Windows/Intel Macros */
#define GET_HIBYTE(c) (((c) & 0xFF00) >> 8)
#define GET_LOBYTE(c) ((c) & 0x00FF)
#endif
/*===============================================================================*
* Scalar Types *
*===============================================================================*/
/*==================================================================================================*
* UFLOutStream *
*==================================================================================================*/
typedef struct UFLOutStream {
const UFLMemObj *pMem;
const UFLStream *pStream;
UFLBool flOutputAscii;
unsigned long lAddEOL;
} UFLOutStream;
/* Public methods */
UFLHANDLE StrmInit(
const UFLMemObj *pMem,
const UFLStream *stream,
const UFLBool outputAscii
);
void StrmCleanUp(
const UFLHANDLE h
);
UFLErrCode StrmPutBytes (
const UFLHANDLE h,
const char *data,
const UFLsize_t len,
const UFLBool bAscii
);
UFLErrCode StrmPutAsciiHex(
const UFLHANDLE h,
const char *data,
const unsigned long len
);
UFLErrCode
StrmPutWordAsciiHex(
const UFLHANDLE h,
const unsigned short wData
);
UFLErrCode StrmPutAscii85(
const UFLHANDLE h,
const char *data,
const unsigned long len
);
UFLErrCode StrmPutString(
const UFLHANDLE h,
const char *data
);
UFLErrCode StrmPutStringBinary(
const UFLHANDLE h,
const char *data,
const unsigned long len
);
UFLErrCode StrmPutInt(
const UFLHANDLE h,
const long int i
);
UFLErrCode StrmPutFixed(
const UFLHANDLE h,
const UFLFixed f
);
UFLErrCode StrmPutStringEOL(
const UFLHANDLE h,
const char *data
);
UFLErrCode StrmPutMatrix(
const UFLHANDLE h,
const UFLFixedMatrix *matrix,
const UFLBool skipEF
);
#define StrmCanOutputBinary( h ) ( ( ((UFLOutStream *)h)->flOutputAscii ) ? 0 : 1)
/* Private methods */
UFLErrCode Output85(
const UFLHANDLE h,
unsigned long inWord,
short nBytes
);
static void Fixed2CString(
UFLFixed f,
char *s,
short precision,
char skipTrailSpace
);
#endif