1*4226f635SJason King /* 2*4226f635SJason King * This file and its contents are supplied under the terms of the 3*4226f635SJason King * Common Development and Distribution License ("CDDL"), version 1.0. 4*4226f635SJason King * You may only use this file in accordance with the terms of version 5*4226f635SJason King * 1.0 of the CDDL. 6*4226f635SJason King * 7*4226f635SJason King * A full copy of the text of the CDDL should have accompanied this 8*4226f635SJason King * source. A copy of the CDDL is also available via the Internet at 9*4226f635SJason King * http://www.illumos.org/license/CDDL. 10*4226f635SJason King */ 11*4226f635SJason King 12*4226f635SJason King /* 13*4226f635SJason King * Copyright 2017 Jason King 14*4226f635SJason King */ 15*4226f635SJason King 16*4226f635SJason King #ifndef _DEMANGLE_SYS_H 17*4226f635SJason King #define _DEMANGLE_SYS_H 18*4226f635SJason King 19*4226f635SJason King #include <sys/types.h> 20*4226f635SJason King 21*4226f635SJason King #ifdef __cplusplus 22*4226f635SJason King extern "C" { 23*4226f635SJason King #endif 24*4226f635SJason King 25*4226f635SJason King typedef enum sysdem_lang_e { 26*4226f635SJason King SYSDEM_LANG_AUTO, 27*4226f635SJason King SYSDEM_LANG_CPP 28*4226f635SJason King } sysdem_lang_t; 29*4226f635SJason King 30*4226f635SJason King typedef struct sysdem_alloc_s { 31*4226f635SJason King void *(*alloc)(size_t); 32*4226f635SJason King void (*free)(void *, size_t); 33*4226f635SJason King } sysdem_ops_t; 34*4226f635SJason King 35*4226f635SJason King char *sysdemangle(const char *, sysdem_lang_t, sysdem_ops_t *); 36*4226f635SJason King 37*4226f635SJason King #ifdef __cplusplus 38*4226f635SJason King } 39*4226f635SJason King #endif 40*4226f635SJason King 41*4226f635SJason King #endif /* _DEMANGLE_SYS_H */ 42