8 #define PROTO_MKDIR 0x1
9 #define PROTO_RMDIR 0x2
10 #define PROTO_CREAT 0x3
12 #define PROTO_CHDIR 0x5
13 #define PROTO_READ 0x6
15 int proto_handle (client_t
*c
, char *data
, unsigned len
)
21 printf ("proto_handle () - '%s' : %d\n", data
, len
);
33 memcpy (name
, data
+2, l
);
36 r
= mkdir (name
, 0777);
38 printf ("mkdir (%s, %x) = %d\n", name
, 0x0777, r
);
49 memcpy (name
, data
+2, l
);
54 printf ("rmdir (%s) = %d\n", name
, r
);
65 memcpy (name
, data
+2, l
);
68 r
= creat (name
, 0777);
70 printf ("creat (%s, %x) = %d\n", name
, 0x0777, r
);
74 printf ("rm (%s) = %d\n", "", r
);
85 memcpy (name
, data
+2, l
);
90 printf ("chdir (%s) = %d\n", name
, r
);
101 memcpy (name
, data
+2, l
);
107 fr
= fopen (name
, "r");
113 while (fgets (s
, sizeof (s
), fr
) != NULL
) {
114 client_send (c
, s
, 1024);
120 unsigned p
= 0xf9da1e9; // some kind of magic .. eh it is match for EOF
121 client_send (c
, (char *) &p
, 4);
126 printf ("read (%s) = %d\n", name
, r
);