gelf_xlatetom.c revision 441f72d43a9b550baa779fc82f70816da5f74f0e
1daa1ef354deee764484c1494073b075859701971Harald Welte/* Convert from file to memory representation.  Generic ELF version.
2daa1ef354deee764484c1494073b075859701971Harald Welte   Copyright (C) 2000, 2002 Red Hat, Inc.
3daa1ef354deee764484c1494073b075859701971Harald Welte   Written by Ulrich Drepper <drepper@redhat.com>, 2000.
4daa1ef354deee764484c1494073b075859701971Harald Welte
5daa1ef354deee764484c1494073b075859701971Harald Welte   This program is free software; you can redistribute it and/or modify
6daa1ef354deee764484c1494073b075859701971Harald Welte   it under the terms of the GNU General Public License as published by
7daa1ef354deee764484c1494073b075859701971Harald Welte   the Free Software Foundation, version 2.
8daa1ef354deee764484c1494073b075859701971Harald Welte
9a2e89ccf65e8c881e77674cd2b15b9704b0c6822Yasuyuki KOZAKAI   This program is distributed in the hope that it will be useful,
10a2e89ccf65e8c881e77674cd2b15b9704b0c6822Yasuyuki KOZAKAI   but WITHOUT ANY WARRANTY; without even the implied warranty of
11daa1ef354deee764484c1494073b075859701971Harald Welte   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12478be25c3b64e0f2ddbd2aa97ebe78df7ca00c0aJan Engelhardt   GNU General Public License for more details.
13478be25c3b64e0f2ddbd2aa97ebe78df7ca00c0aJan Engelhardt
14478be25c3b64e0f2ddbd2aa97ebe78df7ca00c0aJan Engelhardt   You should have received a copy of the GNU General Public License
15478be25c3b64e0f2ddbd2aa97ebe78df7ca00c0aJan Engelhardt   along with this program; if not, write to the Free Software Foundation,
16d8784613a5be2821ff910cd4c2bfe889a9b306c5Jan Engelhardt   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
17d8784613a5be2821ff910cd4c2bfe889a9b306c5Jan Engelhardt
18478be25c3b64e0f2ddbd2aa97ebe78df7ca00c0aJan Engelhardt#ifdef HAVE_CONFIG_H
19478be25c3b64e0f2ddbd2aa97ebe78df7ca00c0aJan Engelhardt# include <config.h>
20932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardt#endif
21daa1ef354deee764484c1494073b075859701971Harald Welte
22daa1ef354deee764484c1494073b075859701971Harald Welte#include <gelf.h>
23daa1ef354deee764484c1494073b075859701971Harald Welte#include <stddef.h>
24daa1ef354deee764484c1494073b075859701971Harald Welte
25daa1ef354deee764484c1494073b075859701971Harald Welte#include "libelfP.h"
26daa1ef354deee764484c1494073b075859701971Harald Welte
27daa1ef354deee764484c1494073b075859701971Harald Welte
28daa1ef354deee764484c1494073b075859701971Harald WelteElf_Data *
294282d89a798adcf50973a22c5a17563b5e9421cbFlorian Westphalgelf_xlatetom (elf, dest, src, encode)
304282d89a798adcf50973a22c5a17563b5e9421cbFlorian Westphal     Elf *elf;
314282d89a798adcf50973a22c5a17563b5e9421cbFlorian Westphal     Elf_Data *dest;
324282d89a798adcf50973a22c5a17563b5e9421cbFlorian Westphal     const Elf_Data * src;
334282d89a798adcf50973a22c5a17563b5e9421cbFlorian Westphal     unsigned int encode;
344282d89a798adcf50973a22c5a17563b5e9421cbFlorian Westphal{
354282d89a798adcf50973a22c5a17563b5e9421cbFlorian Westphal  if (elf == NULL)
366924b4987d88fbe383bec4da4cf331cc466c245eFlorian Westphal    return NULL;
376924b4987d88fbe383bec4da4cf331cc466c245eFlorian Westphal
386924b4987d88fbe383bec4da4cf331cc466c245eFlorian Westphal  return (elf->class == ELFCLASS32
396924b4987d88fbe383bec4da4cf331cc466c245eFlorian Westphal	  ? INTUSE(elf32_xlatetom) (dest, src, encode)
406924b4987d88fbe383bec4da4cf331cc466c245eFlorian Westphal	  : INTUSE(elf64_xlatetom) (dest, src, encode));
416924b4987d88fbe383bec4da4cf331cc466c245eFlorian Westphal}
426924b4987d88fbe383bec4da4cf331cc466c245eFlorian Westphal