| /* Copyright (c) 2000 IBM, Inc. and Others.  | 
 |    FLAGCB.H - interface to 'flagging' callback which  | 
 |    simply marks the fact that the callback was called.  | 
 | */ | 
 |  | 
 | #ifndef _FLAGCB | 
 | #define _FLAGCB | 
 |  | 
 | #include "unicode/utypes.h" | 
 | #include "unicode/ucnv.h" | 
 |  | 
 | /* The structure of a FromU Flag context.  | 
 |    (conceivably there could be a ToU Flag Context) */ | 
 |  | 
 | typedef struct | 
 | { | 
 |   UConverterFromUCallback  subCallback; | 
 |   const void               *subContext; | 
 |   UBool                    flag; | 
 | } FromUFLAGContext; | 
 |  | 
 | /** | 
 |  * open the context  | 
 |  */ | 
 |  | 
 | U_CAPI FromUFLAGContext* U_EXPORT2  flagCB_fromU_openContext(); | 
 |  | 
 | /** | 
 |  * the actual callback  | 
 |  */ | 
 | U_CAPI void U_EXPORT2 flagCB_fromU( | 
 |                   const void *context, | 
 |                   UConverterFromUnicodeArgs *fromUArgs, | 
 |                   const UChar* codeUnits, | 
 |                   int32_t length, | 
 |                   UChar32 codePoint, | 
 |                   UConverterCallbackReason reason, | 
 | 				  UErrorCode * err); | 
 |  | 
 |  | 
 |  | 
 | typedef struct | 
 | { | 
 |     UConverterFromUCallback  subCallback; | 
 |     const void               *subContext; | 
 |     uint32_t       magic;      /* 0xC0FFEE to identify that the object is OK */ | 
 |     uint32_t       serial;     /* minted from nextSerial */ | 
 | } debugCBContext; | 
 |  | 
 | U_CAPI void debugCB_fromU(const void *context, | 
 |                    UConverterFromUnicodeArgs *fromUArgs, | 
 |                    const UChar* codeUnits, | 
 |                    int32_t length, | 
 |                    UChar32 codePoint, | 
 |                    UConverterCallbackReason reason, | 
 |                    UErrorCode * err); | 
 |  | 
 | U_CAPI debugCBContext *debugCB_openContext(); | 
 |  | 
 | #endif |