FreeCalypso > hg > gsm-net-reveng
diff trau-ul-prep/binreader.c @ 19:4ab8762be333
trau-ul-prep: starting with gsmx2tsrc program
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 23 Jun 2024 21:55:03 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/trau-ul-prep/binreader.c Sun Jun 23 21:55:03 2024 +0000 @@ -0,0 +1,29 @@ +/* + * Here we implement our binfile_read_frame() function. + */ + +#include <stdio.h> +#include <stdint.h> +#include "binreader.h" + +int binfile_read_frame(FILE *binf, uint8_t *frame) +{ + int cc, morelen; + + cc = fread(frame, 1, 1, binf); + if (cc != 1) + return 0; + if (frame[0] == 0xBF) + morelen = 1; + else if ((frame[0] & 0xF0) == 0xC0) + morelen = 30; + else if ((frame[0] & 0xF0) == 0xD0) + morelen = 32; + else + return -1; + cc = fread(frame+1, 1, morelen, binf); + if (cc == morelen) + return 1; + else + return -2; +}