Linux Audio

Check our new training course

Loading...
v5.4
 1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
 2/*
 3 * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org>
 4 *
 5 * This program is free software; you can redistribute it and/or modify
 6 * it under the terms of the GNU General Public License as published by
 7 * the Free Software Foundation; either version 2 of the License, or
 8 * (at your option) any later version.
 9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18 *
19 */
20
21#ifndef __MTD_NFTL_USER_H__
22#define __MTD_NFTL_USER_H__
23
24#include <linux/types.h>
25
26/* Block Control Information */
27
28struct nftl_bci {
29	unsigned char ECCSig[6];
30	__u8 Status;
31	__u8 Status1;
32}__attribute__((packed));
33
34/* Unit Control Information */
35
36struct nftl_uci0 {
37	__u16 VirtUnitNum;
38	__u16 ReplUnitNum;
39	__u16 SpareVirtUnitNum;
40	__u16 SpareReplUnitNum;
41} __attribute__((packed));
42
43struct nftl_uci1 {
44	__u32 WearInfo;
45	__u16 EraseMark;
46	__u16 EraseMark1;
47} __attribute__((packed));
48
49struct nftl_uci2 {
50        __u16 FoldMark;
51        __u16 FoldMark1;
52	__u32 unused;
53} __attribute__((packed));
54
55union nftl_uci {
56	struct nftl_uci0 a;
57	struct nftl_uci1 b;
58	struct nftl_uci2 c;
59};
60
61struct nftl_oob {
62	struct nftl_bci b;
63	union nftl_uci u;
64};
65
66/* NFTL Media Header */
67
68struct NFTLMediaHeader {
69	char DataOrgID[6];
70	__u16 NumEraseUnits;
71	__u16 FirstPhysicalEUN;
72	__u32 FormattedSize;
73	unsigned char UnitSizeFactor;
74} __attribute__((packed));
75
76#define MAX_ERASE_ZONES (8192 - 512)
77
78#define ERASE_MARK 0x3c69
79#define SECTOR_FREE 0xff
80#define SECTOR_USED 0x55
81#define SECTOR_IGNORE 0x11
82#define SECTOR_DELETED 0x00
83
84#define FOLD_MARK_IN_PROGRESS 0x5555
85
86#define ZONE_GOOD 0xff
87#define ZONE_BAD_ORIGINAL 0
88#define ZONE_BAD_MARKED 7
89
90
91#endif /* __MTD_NFTL_USER_H__ */
v6.9.4
 1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
 2/*
 3 * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org>
 4 *
 5 * This program is free software; you can redistribute it and/or modify
 6 * it under the terms of the GNU General Public License as published by
 7 * the Free Software Foundation; either version 2 of the License, or
 8 * (at your option) any later version.
 9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18 *
19 */
20
21#ifndef __MTD_NFTL_USER_H__
22#define __MTD_NFTL_USER_H__
23
24#include <linux/types.h>
25
26/* Block Control Information */
27
28struct nftl_bci {
29	unsigned char ECCSig[6];
30	__u8 Status;
31	__u8 Status1;
32}__attribute__((packed));
33
34/* Unit Control Information */
35
36struct nftl_uci0 {
37	__u16 VirtUnitNum;
38	__u16 ReplUnitNum;
39	__u16 SpareVirtUnitNum;
40	__u16 SpareReplUnitNum;
41} __attribute__((packed));
42
43struct nftl_uci1 {
44	__u32 WearInfo;
45	__u16 EraseMark;
46	__u16 EraseMark1;
47} __attribute__((packed));
48
49struct nftl_uci2 {
50        __u16 FoldMark;
51        __u16 FoldMark1;
52	__u32 unused;
53} __attribute__((packed));
54
55union nftl_uci {
56	struct nftl_uci0 a;
57	struct nftl_uci1 b;
58	struct nftl_uci2 c;
59};
60
61struct nftl_oob {
62	struct nftl_bci b;
63	union nftl_uci u;
64};
65
66/* NFTL Media Header */
67
68struct NFTLMediaHeader {
69	char DataOrgID[6];
70	__u16 NumEraseUnits;
71	__u16 FirstPhysicalEUN;
72	__u32 FormattedSize;
73	unsigned char UnitSizeFactor;
74} __attribute__((packed));
75
76#define MAX_ERASE_ZONES (8192 - 512)
77
78#define ERASE_MARK 0x3c69
79#define SECTOR_FREE 0xff
80#define SECTOR_USED 0x55
81#define SECTOR_IGNORE 0x11
82#define SECTOR_DELETED 0x00
83
84#define FOLD_MARK_IN_PROGRESS 0x5555
85
86#define ZONE_GOOD 0xff
87#define ZONE_BAD_ORIGINAL 0
88#define ZONE_BAD_MARKED 7
89
90
91#endif /* __MTD_NFTL_USER_H__ */