2023-03-11 16:45:20 +00:00
|
|
|
#include <fcntl.h>
|
2023-01-06 12:31:14 +00:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
2023-03-12 14:32:09 +00:00
|
|
|
#include <sys/stat.h>
|
2023-01-06 23:21:08 +00:00
|
|
|
#include <time.h>
|
2023-03-11 16:45:20 +00:00
|
|
|
#include <unistd.h>
|
2023-01-06 12:31:14 +00:00
|
|
|
|
2023-01-06 18:40:25 +00:00
|
|
|
void bye()
|
|
|
|
{
|
2023-01-07 00:49:26 +00:00
|
|
|
printf("byeee!\n");
|
2023-01-06 18:40:25 +00:00
|
|
|
}
|
|
|
|
|
2023-01-06 12:31:14 +00:00
|
|
|
int main()
|
|
|
|
{
|
2023-01-06 18:40:25 +00:00
|
|
|
atexit(bye);
|
2023-03-11 21:19:58 +00:00
|
|
|
printf("Welcome to %s from userspace (pid %d)!\n", "Luna", getpid());
|
2023-01-06 19:15:43 +00:00
|
|
|
|
2023-03-12 16:36:56 +00:00
|
|
|
FILE* f = fopen("/etc/motd", "r");
|
|
|
|
if (!f)
|
2023-03-11 16:45:20 +00:00
|
|
|
{
|
2023-03-12 16:36:56 +00:00
|
|
|
perror("fopen");
|
2023-03-11 16:45:20 +00:00
|
|
|
return 1;
|
|
|
|
}
|
2023-01-11 22:01:47 +00:00
|
|
|
|
2023-03-11 17:02:50 +00:00
|
|
|
char buffer[512];
|
2023-03-12 16:36:56 +00:00
|
|
|
size_t nread = fread(buffer, 1, sizeof(buffer), f);
|
2023-03-11 17:02:50 +00:00
|
|
|
buffer[nread] = 0;
|
|
|
|
|
2023-03-12 16:36:56 +00:00
|
|
|
printf("/etc/motd says: %s", buffer);
|
2023-03-11 17:02:50 +00:00
|
|
|
|
2023-03-12 16:36:56 +00:00
|
|
|
fclose(f);
|
2023-01-13 20:06:27 +00:00
|
|
|
|
|
|
|
time_t now = time(NULL);
|
|
|
|
printf("date: %s", ctime(&now));
|
2023-01-06 12:31:14 +00:00
|
|
|
}
|