Move the class and class_member structs to a new header file,

classes.h.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
This commit is contained in:
Arnaldo Carvalho de Melo 2006-10-28 13:45:59 -03:00
parent 5c3d14ac09
commit 3593eb45a6
2 changed files with 45 additions and 29 deletions

44
classes.h Normal file
View File

@ -0,0 +1,44 @@
#ifndef _PAHOLE_CLASSES_H_
#define _PAHOLE_CLASSES_H_ 1
/*
Copyright (C) 2006 Mandriva Conectiva S.A.
Copyright (C) 2006 Arnaldo Carvalho de Melo <acme@mandriva.com>
This program is free software; you can redistribute it and/or modify it
under the terms of version 2 of the GNU General Public License as
published by the Free Software Foundation.
*/
#include <stdint.h>
#include "list.h"
struct cu_info {
unsigned int cu;
uintmax_t offset;
};
struct class {
struct list_head node;
struct list_head members;
char name[32];
unsigned long size;
struct cu_info id;
struct cu_info type;
unsigned int tag; /* struct, union, base type, etc */
uintmax_t nr_entries; /* For arrays */
const char *decl_file;
unsigned int decl_line;
};
struct class_member {
struct list_head node;
char name[32];
struct cu_info type;
unsigned int offset;
unsigned int bit_size;
unsigned int bit_offset;
};
#endif /* _PAHOLE_CLASSES_H_ */

View File

@ -7,10 +7,8 @@
published by the Free Software Foundation.
*/
#include <dwarf.h>
#include <fcntl.h>
#include <inttypes.h>
#include <libdw.h>
#include <libelf.h>
#include <stdio.h>
@ -19,6 +17,7 @@
#include <unistd.h>
#include "list.h"
#include "classes.h"
static char bf[4096];
@ -32,24 +31,6 @@ static void *zalloc(const size_t size)
static LIST_HEAD(classes);
struct cu_info {
unsigned int cu;
uintmax_t offset;
};
struct class {
struct list_head node;
struct list_head members;
char name[32];
unsigned long size;
struct cu_info id;
struct cu_info type;
unsigned int tag; /* struct, union, base type, etc */
uintmax_t nr_entries; /* For arrays */
const char *decl_file;
unsigned int decl_line;
};
const char *tag_name(const unsigned int tag)
{
switch (tag) {
@ -141,15 +122,6 @@ const char *class__name(struct class *self, char *bf, size_t len)
return bf;
}
struct class_member {
struct list_head node;
char name[32];
struct cu_info type;
unsigned int offset;
unsigned int bit_size;
unsigned int bit_offset;
};
struct class_member *class_member__new(unsigned int cu,
uintmax_t type,
const char *name,