Add signal mask save/restore to the checkpoint code. Reorder the file
[dragonfly.git] / sys / sys / ckpt.h
CommitLineData
5a5c6af6
MD
1/*-
2 * Copyright (c) 2003 Kip Macy All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 * SUCH DAMAGE.
24 *
4f12bfd3 25 * $DragonFly: src/sys/sys/ckpt.h,v 1.6 2005/02/26 20:32:37 dillon Exp $
731100e5
MD
26 */
27#ifndef _SYS_CKPT_H_
28#define _SYS_CKPT_H_
29
55e44363
MD
30#define CKPT_MAXTHREADS 256
31
731100e5 32struct ckpt_filehdr {
351b7b6d
MD
33 int cfh_magic; /* XXX implement */
34 int cfh_nfiles;
35 int cfh_reserved[8];
731100e5
MD
36};
37
5a5c6af6
MD
38struct ckpt_vminfo {
39 segsz_t cvm_dsize;
40 segsz_t cvm_tsize;
41 segsz_t cvm_reserved1[4];
42 caddr_t cvm_daddr;
43 caddr_t cvm_taddr;
44 caddr_t cvm_reserved2[4];
45};
731100e5
MD
46
47struct ckpt_fileinfo {
351b7b6d
MD
48 int cfi_index;
49 u_int cfi_flags; /* saved f_flag */
50 off_t cfi_offset; /* saved f_offset */
51 fhandle_t cfi_fh;
4f12bfd3
MD
52 int cfi_type;
53 int cfi_reserved[7];
731100e5
MD
54};
55
56struct ckpt_siginfo {
351b7b6d
MD
57 int csi_ckptpisz;
58 struct procsig csi_procsig;
59 struct sigacts csi_sigacts;
60 struct itimerval csi_itimerval;
61 int csi_sigparent;
4f12bfd3
MD
62 sigset_t csi_sigmask;
63 int csi_reserved[6];
731100e5
MD
64};
65
66struct vn_hdr {
351b7b6d
MD
67 fhandle_t vnh_fh;
68 Elf_Phdr vnh_phdr;
69 int vnh_reserved[8];
731100e5
MD
70};
71
72#ifdef _KERNEL
73#ifdef DEBUG
5e2195bf
JS
74#define TRACE_ENTER printf("entering %s at %s:%d\n", __func__, __FILE__, __LINE__)
75#define TRACE_EXIT printf("exiting %s at %s:%d\n", __func__, __FILE__, __LINE__)
76#define TRACE_ERR printf("failure encountered in %s at %s:%d\n", __func__, __FILE__, __LINE__)
5a5c6af6 77#define PRINTF(args) printf args
731100e5
MD
78#else
79#define TRACE_ENTER
80#define TRACE_EXIT
81#define TRACE_ERR
5a5c6af6 82#define PRINTF(args)
731100e5
MD
83#endif
84#endif
85
86#endif