Untitled
unknown
plain_text
2 years ago
1.6 kB
15
Indexable
1 #include <stdlib.h>
2 #include <sys/stat.h>
3 #include <stdint.h>
4 #include <string.h>
5 #include <sys/stat.h>
6 #include <stdio.h>
7 #include <sys/types.h>
8 #include <pwd.h>
9 #include <grp.h>
10
11 #ifndef HH
12 #define HH
13
14 /* Field size macros */
15 #define NAME_SIZE 100
16 #define MODE_SIZE 8
17 #define UID_SIZE 8
18 #define GID_SIZE 8
19 #define FILESIZE_SIZE 12
20 #define MTIME_SIZE 12
21 #define CHKSUM_SIZE 8
22 #define TYPEFLAG_SIZE 1
23 #define LINKNAME_SIZE 100
24 #define MAGIC_SIZE 48
25 #define VERSION_SIZE 2
26 #define UNAME_SIZE 32
27 #define GNAME_SIZE 32
28 #define DEVMAJOR_SIZE 8
29 #define DEVMINOR_SIZE 8
30 #define PREFIX_SIZE 155
31
32 /* Name length macros */
33 #define MAX_NAME_LEN 256
34
35 typedef struct header{
36 char *name; /* NUL-terminated is NUL fits; size: 100 */
37 char *mode; /* Octal string; size: 8 */
38 char *uid; /* Octal string; size: 8 */
39 char *gid; /* Octal string; size: 8 */
40 char *size; /* Octal string; size: 12 */
41 char *mtime; /* Octal string; size: 12 */
42 char *chksum; /* Octal string; size: 8 */
43 char typeflag; /*One char, not malloced*/
44 char *linkname; /* NUL-terminated if NUL fits; size: 100 */
45 char *magic; /* Must be "ustar", NUL-terminated; size: 48, not malloced */
46 char *version; /* Must be "00"; size: 2 , not malloced*/
47 char *uname; /* NUL-terminated; size: 32 */
48 char *gname; /* NUL-terminated; size: 32 */
49 char *devmajor; /* Octal string; size: 8 */
50 char *devminor; /* Octal string; size: 8 */
"header.h" 63L, 1782CEditor is loading...
Leave a Comment