[go: up one dir, main page]

File: dfo.h

package info (click to toggle)
s390-tools 2.3.0-2~deb10u1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 6,188 kB
  • sloc: ansic: 87,755; sh: 8,398; cpp: 8,384; perl: 3,783; makefile: 1,476; asm: 654
file content (56 lines) | stat: -rw-r--r-- 1,319 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
 * zgetdump - Tool for copying and converting System z dumps
 *
 * Generic output dump format functions (DFO - Dump Format Output)
 *
 * Copyright IBM Corp. 2001, 2017
 *
 * s390-tools is free software; you can redistribute it and/or modify
 * it under the terms of the MIT license. See LICENSE for details.
 */

#ifndef DFO_H
#define DFO_H

#include "lib/util_list.h"
#include "zg.h"

struct dfo_chunk;

typedef void (*dfo_chunk_read_fn)(struct dfo_chunk *chunk, u64 off,
				    void *buf, u64 cnt);

struct dfo_chunk {
	struct util_list_node	list;
	u64			start;
	u64			end;
	u64			size;
	dfo_chunk_read_fn	read_fn;
	void			*data;
};

extern void dfo_chunk_zero_fn(struct dfo_chunk *chunk, u64 off, void *buf,
			      u64 cnt);
extern void dfo_chunk_buf_fn(struct dfo_chunk *chunk, u64 off, void *buf,
			     u64 cnt);
extern void dfo_chunk_mem_fn(struct dfo_chunk *chunk, u64 off, void *buf,
			     u64 cnt);
extern void dfo_chunk_add(u64 start, u64 size, void *data,
			  dfo_chunk_read_fn read_fn);

extern u64 dfo_read(void *buf, u64 cnt);
extern void dfo_seek(u64 addr);
extern u64 dfo_size(void);
extern const char *dfo_name(void);
extern void dfo_init(void);
extern int dfo_set(const char *dfo_name);

/*
 * DFO operations
 */
struct dfo {
	const char	*name;
	void		(*init)(void);
};

#endif /* DFO_H */