123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- //
- // Created by miti on 21/07/19.
- //
- #include "UntrustedInclude/FileIO.h"
- namespace FileIO {
- int write_to_fd(int fd, uint8_t* msg, size_t* expected_msg_length)
- {
- ssize_t bytes_written;
- lseek(fd, 0, SEEK_SET);
- bytes_written = write(fd, msg, *expected_msg_length);
- if(bytes_written == -1)
- return -1;
- fsync(fd);
- *expected_msg_length = bytes_written;
- return 0;
- }
- int read_from_fd(int fd, uint8_t* msg, size_t* expected_msg_length)
- {
- ssize_t bytes_read;
- lseek(fd, 0, SEEK_SET);
- bytes_read = read(fd, msg, *expected_msg_length);
- if(bytes_read == -1)
- return -1;
- *expected_msg_length = bytes_read;
- return 0;
- }
- int write_to_filename(char* filename, uint8_t* msg, size_t* expected_msg_length)
- {
- ssize_t bytes_written;
- FILE* file;
- file = fopen(filename, "w");
- if(file == NULL)
- return 2;
- bytes_written = fwrite(msg, 1, *expected_msg_length, file);
- if(bytes_written == -1)
- return -1;
- fsync(fileno(file));
- *expected_msg_length = bytes_written;
- fclose(file);
- return 0;
- }
- int read_from_filename(char* filename, uint8_t* msg, size_t* expected_msg_length)
- {
- ssize_t bytes_read;
- FILE* file;
- file = fopen(filename, "r");
- if(file == NULL)
- return 2;
- bytes_read = fread(msg, 1, *expected_msg_length, file);
- if(bytes_read == -1)
- return -1;
- *expected_msg_length = bytes_read;
- fclose(file);
- return 0;
- }
- size_t check_if_file_exists_return_size(char* filename)
- {
- int fd, ret_status;
- FILE* file;
- struct stat st;
- file = fopen(filename, "r");
- if(file == NULL)
- return 0;
- fd = fileno(file);
- if(fd == -1)
- return 0;
- printf("\nSuccessfully opened a file to seal the signing key pair for the client.\n");
- fflush(stdout);
- ret_status = fstat(fd, &st);
- if(ret_status != 0)
- {
- perror("error in finding the file size. - ");
- fflush(stderr);
- return 0;
- }
- fclose(file);
- return st.st_size;
- }
- };
|