The system_fwrite_atomic function writes a specified number of bytes from a specified buffer into a specified file. This function also locks the file prior to performing the write, and then unlocks it when done, thereby avoiding interference between simultaneous write actions. Before system_fwrite_atomic can be used, you must open the file using any of the system_fopen functions except system_fopenRO.
int system_fwrite_atomic(SYS_FILE fd, char *buf, int sz);
The constant IO_OKAY if the write/lock succeeds, or the constant IO_ERROR if the write/lock fails.
SYS_FILE fd is the platform-independent file descriptor.
char *buf is the buffer containing the bytes to be written.
int sz is the number of bytes to write to the file.
SYS_FILE logfd; char *logmsg = "An error occurred."; system_fwrite_atomic(logfd, logmsg, strlen(logmsg));
system_errmsg() Function, system_fopenRO() Function, system_fopenRW() Function, system_fopenWA() Function, system_lseek() Function, system_fread() Function, system_fwrite() Function, system_flock() Function, system_ulock() Function, system_fclose() Function