Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/testing/selftests/efivarfs/create-read.c
26288 views
1
// SPDX-License-Identifier: GPL-2.0
2
#include <stdio.h>
3
#include <stdint.h>
4
#include <stdlib.h>
5
#include <unistd.h>
6
#include <sys/types.h>
7
#include <sys/stat.h>
8
#include <fcntl.h>
9
#include <errno.h>
10
#include <string.h>
11
12
int main(int argc, char **argv)
13
{
14
const char *path;
15
char buf[4];
16
int fd, rc;
17
18
if (argc < 2) {
19
fprintf(stderr, "usage: %s <path>\n", argv[0]);
20
return EXIT_FAILURE;
21
}
22
23
path = argv[1];
24
25
/* create a test variable */
26
fd = open(path, O_RDWR | O_CREAT, 0600);
27
if (fd < 0) {
28
perror("open(O_WRONLY)");
29
return EXIT_FAILURE;
30
}
31
32
rc = read(fd, buf, sizeof(buf));
33
if (rc != 0) {
34
fprintf(stderr, "Reading a new var should return EOF\n");
35
close(fd);
36
return EXIT_FAILURE;
37
}
38
39
close(fd);
40
return EXIT_SUCCESS;
41
}
42
43