1 /* Return note type name.
2 Copyright (C) 2002 Red Hat, Inc.
3 Written by Ulrich Drepper <drepper@redhat.com>, 2002.
4
5 This program is Open Source software; you can redistribute it and/or
6 modify it under the terms of the Open Software License version 1.0 as
7 published by the Open Source Initiative.
8
9 You should have received a copy of the Open Software License along
10 with this program; if not, you may obtain a copy of the Open Software
11 License version 1.0 from http://www.opensource.org/licenses/osl.php or
12 by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
13 3001 King Ranch Road, Ukiah, CA 95482. */
14
15 #ifdef HAVE_CONFIG_H
16 # include <config.h>
17 #endif
18
19 #include <inttypes.h>
20 #include <stdio.h>
21 #include <libeblP.h>
22
23
24 const char *
ebl_object_note_type_name(ebl,type,buf,len)25 ebl_object_note_type_name (ebl, type, buf, len)
26 Ebl *ebl;
27 uint32_t type;
28 char *buf;
29 size_t len;
30 {
31 const char *res = ebl->object_note_type_name (type, buf, len);
32
33 if (res == NULL)
34 {
35 static const char *knowntypes[] =
36 {
37 #define KNOWNSTYPE(name) [NT_##name] = #name
38 KNOWNSTYPE (VERSION),
39 };
40
41 /* Handle standard names. */
42 if (type < sizeof (knowntypes) / sizeof (knowntypes[0])
43 && knowntypes[type] != NULL)
44 res = knowntypes[type];
45 else
46 {
47 snprintf (buf, len, "%s: %" PRIu32, gettext ("<unknown>"), type);
48
49 res = buf;
50 }
51 }
52
53 return res;
54 }
55