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