9 static unsigned int offset;
10 static unsigned int ino = 721;
12 static void push_rest(const char *name)
14 unsigned int name_len = strlen(name) + 1;
21 tmp_ofs = name_len + 110;
29 static void push_hdr(const char *s)
35 static void cpio_trailer(void)
38 const char *name = "TRAILER!!!";
40 sprintf(s, "%s%08X%08X%08lX%08lX%08X%08lX"
41 "%08X%08X%08X%08X%08X%08X%08X",
54 strlen(name) + 1, /* namesize */
59 while (offset % 512) {
65 static void cpio_mkdir(const char *name, unsigned int mode,
69 time_t mtime = time(NULL);
71 sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"
72 "%08X%08X%08X%08X%08X%08X%08X",
75 S_IFDIR | mode, /* mode */
79 (long) mtime, /* mtime */
85 strlen(name) + 1, /* namesize */
91 static void cpio_mknod(const char *name, unsigned int mode,
92 uid_t uid, gid_t gid, int dev_type,
93 unsigned int maj, unsigned int min)
96 time_t mtime = time(NULL);
103 sprintf(s,"%s%08X%08X%08lX%08lX%08X%08lX"
104 "%08X%08X%08X%08X%08X%08X%08X",
105 "070701", /* magic */
108 (long) uid, /* uid */
109 (long) gid, /* gid */
111 (long) mtime, /* mtime */
117 strlen(name) + 1, /* namesize */
123 int main (int argc, char *argv[])
125 cpio_mkdir("/dev", 0700, 0, 0);
126 cpio_mknod("/dev/console", 0600, 0, 0, 'c', 5, 1);
127 cpio_mkdir("/root", 0700, 0, 0);
132 /* silence compiler warnings */