| .. | .. |
|---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * linux/fs/adfs/dir_f.h |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 1999 Russell King |
|---|
| 5 | | - * |
|---|
| 6 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 7 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 8 | | - * published by the Free Software Foundation. |
|---|
| 9 | 6 | * |
|---|
| 10 | 7 | * Structures of directories on the F format disk |
|---|
| 11 | 8 | */ |
|---|
| .. | .. |
|---|
| 16 | 13 | * Directory header |
|---|
| 17 | 14 | */ |
|---|
| 18 | 15 | struct adfs_dirheader { |
|---|
| 19 | | - unsigned char startmasseq; |
|---|
| 20 | | - unsigned char startname[4]; |
|---|
| 21 | | -}; |
|---|
| 16 | + __u8 startmasseq; |
|---|
| 17 | + __u8 startname[4]; |
|---|
| 18 | +} __attribute__((packed)); |
|---|
| 22 | 19 | |
|---|
| 23 | 20 | #define ADFS_NEWDIR_SIZE 2048 |
|---|
| 24 | 21 | #define ADFS_NUM_DIR_ENTRIES 77 |
|---|
| .. | .. |
|---|
| 34 | 31 | __u8 dirlen[4]; |
|---|
| 35 | 32 | __u8 dirinddiscadd[3]; |
|---|
| 36 | 33 | __u8 newdiratts; |
|---|
| 37 | | -}; |
|---|
| 34 | +} __attribute__((packed)); |
|---|
| 38 | 35 | |
|---|
| 39 | 36 | /* |
|---|
| 40 | 37 | * Directory tail |
|---|
| 41 | 38 | */ |
|---|
| 39 | +struct adfs_olddirtail { |
|---|
| 40 | + __u8 dirlastmask; |
|---|
| 41 | + char dirname[10]; |
|---|
| 42 | + __u8 dirparent[3]; |
|---|
| 43 | + char dirtitle[19]; |
|---|
| 44 | + __u8 reserved[14]; |
|---|
| 45 | + __u8 endmasseq; |
|---|
| 46 | + __u8 endname[4]; |
|---|
| 47 | + __u8 dircheckbyte; |
|---|
| 48 | +} __attribute__((packed)); |
|---|
| 49 | + |
|---|
| 50 | +struct adfs_newdirtail { |
|---|
| 51 | + __u8 dirlastmask; |
|---|
| 52 | + __u8 reserved[2]; |
|---|
| 53 | + __u8 dirparent[3]; |
|---|
| 54 | + char dirtitle[19]; |
|---|
| 55 | + char dirname[10]; |
|---|
| 56 | + __u8 endmasseq; |
|---|
| 57 | + __u8 endname[4]; |
|---|
| 58 | + __u8 dircheckbyte; |
|---|
| 59 | +} __attribute__((packed)); |
|---|
| 60 | + |
|---|
| 42 | 61 | union adfs_dirtail { |
|---|
| 43 | | - struct { |
|---|
| 44 | | - unsigned char dirlastmask; |
|---|
| 45 | | - char dirname[10]; |
|---|
| 46 | | - unsigned char dirparent[3]; |
|---|
| 47 | | - char dirtitle[19]; |
|---|
| 48 | | - unsigned char reserved[14]; |
|---|
| 49 | | - unsigned char endmasseq; |
|---|
| 50 | | - unsigned char endname[4]; |
|---|
| 51 | | - unsigned char dircheckbyte; |
|---|
| 52 | | - } old; |
|---|
| 53 | | - struct { |
|---|
| 54 | | - unsigned char dirlastmask; |
|---|
| 55 | | - unsigned char reserved[2]; |
|---|
| 56 | | - unsigned char dirparent[3]; |
|---|
| 57 | | - char dirtitle[19]; |
|---|
| 58 | | - char dirname[10]; |
|---|
| 59 | | - unsigned char endmasseq; |
|---|
| 60 | | - unsigned char endname[4]; |
|---|
| 61 | | - unsigned char dircheckbyte; |
|---|
| 62 | | - } new; |
|---|
| 62 | + struct adfs_olddirtail old; |
|---|
| 63 | + struct adfs_newdirtail new; |
|---|
| 63 | 64 | }; |
|---|
| 64 | 65 | |
|---|
| 65 | 66 | #endif |
|---|