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