/* gen_constanc.c: this simple programe writes `constants_linux.go` based on available headers. * * Author: J. Lowell Wofford * * This software is open source software available under the BSD-3 license. * Copyright (c) 2020, J. Lowell Wofford. * See LICENSE file for details. */ #include #include #include #include #include #include const char * filename = "constants_linux.go"; int main() { int fd; printf("Generating constants for entropy IOCTLs.\n"); fd = open(filename, O_CREAT | O_TRUNC | O_WRONLY, 0644); if( fd == -1 ) { printf("Failed to open output file: %s\n", filename); return -1; } dprintf(fd, "// generated by gen_constants.c\n\n"); dprintf(fd, "package entropy\n\n"); dprintf(fd, "const (\n"); dprintf(fd, "\tRNDGETENTCNT = %#x\n", RNDGETENTCNT); dprintf(fd, "\tRNDADDTOENTCNT = %#x\n", RNDADDTOENTCNT); dprintf(fd, "\tRNDGETPOOL = %#x\n", RNDGETPOOL); dprintf(fd, "\tRNDADDENTROPY = %#x\n", RNDADDENTROPY); dprintf(fd, "\tRNDZAPENTCNT = %#x\n", RNDZAPENTCNT); dprintf(fd, "\tRNDCLEARPOOL = %#x\n", RNDCLEARPOOL); dprintf(fd, "\tRNDRESEEDCRNG = %#x\n", RNDRESEEDCRNG); dprintf(fd, ")\n\n"); close(fd); return 0; }