1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef FDCHECKSUM32_SOURCE
- #define FDCHECKSUM32_SOURCE
- #include <stdio.h>
- #include <unistd.h>
- #include <errno.h>
- #include "../tools/memory.h"
- uint32_t fdchecksum32 (int fd, register size_t extent, register uint32_t checksum)
- {
- uint32_t memory;
- while (extent >= sizeof (memory))
- {
- if (read (fd, &memory, sizeof (memory)) != sizeof (memory))
- {
- return (-1);
- }
- extent -= sizeof (memory);
- checksum ^= memory;
- }
- return (~checksum);
- }
- #endif
|