blob: e5cf49deef1af2403a5f88164ee6e96efde2366b [file] [log] [blame]
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00001/* Interface for libebl_ia64 module.
2 Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
3
4 This program is Open Source software; you can redistribute it and/or
5 modify it under the terms of the Open Software License version 1.0 as
6 published by the Open Source Initiative.
7
8 You should have received a copy of the Open Software License along
9 with this program; if not, you may obtain a copy of the Open Software
10 License version 1.0 from http://www.opensource.org/licenses/osl.php or
11 by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
12 3001 King Ranch Road, Ukiah, CA 95482. */
13
14#ifndef _LIBEBL_IA64_H
15#define _LIBEBL_IA64_H 1
16
17#include <libeblP.h>
18
19
20/* Constructor. */
21extern const char *ia64_init (Elf *elf, GElf_Half machine, Ebl *eh,
22 size_t ehlen);
23
24/* Destructor. */
25extern void ia64_destr (Ebl *bh);
26
27
28/* Function to get relocation type name. */
29extern const char *ia64_reloc_type_name (int type, char *buf, size_t len);
30
31/* Check relocation type. */
32extern bool ia64_reloc_type_check (int type);
33
34/* Name of segment type. */
35extern const char *ia64_segment_type_name (int segment, char *buf, size_t len);
36
37/* Name of dynamic tag. */
38extern const char *ia64_dynamic_tag_name (int64_t tag, char *buf, size_t len);
39
40/* Check whether given relocation is a copy relocation. */
41extern bool ia64_copy_reloc_p (int reloc);
42
Roland McGrathe53d04a2005-08-13 20:56:07 +000043/* Check whether machine flags are valid. */
44extern bool ia64_machine_flag_check (GElf_Word flags);
45
46
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000047#endif /* libebl_ia64.h */