| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- //
- // 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;
- int fd = fileno(file);
- 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;
- }
- };
|