1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru******************************************************************************
3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*                                                                            *
483a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius* Copyright (C) 2001-2011, International Business Machines                   *
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*                Corporation and others. All Rights Reserved.                *
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*                                                                            *
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru******************************************************************************
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   file name:  ucln_io.h
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   encoding:   US-ASCII
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   tab size:   8 (not used)
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   indentation:4
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   created on: 2006August11
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   created by: George Rhoten
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*/
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef __UCLN_IO_H__
18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define __UCLN_IO_H__
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h"
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "ucln.h"
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*
24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruPlease keep the order of enums declared in same order
25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruas the functions are suppose to be called. */
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querutypedef enum ECleanupIOType {
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    UCLN_IO_START = -1,
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    UCLN_IO_LOCBUND,
2983a171d1a62abf406f7f44ae671823d5ec20db7dCraig Cornelius    UCLN_IO_PRINTF,
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    UCLN_IO_COUNT /* This must be last */
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} ECleanupIOType;
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* Main library cleanup registration function. */
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/* See common/ucln.h for details on adding a cleanup function. */
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_CFUNC void U_EXPORT2 ucln_io_registerCleanup(ECleanupIOType type,
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru                                                 cleanupFunc *func);
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
39