| Test the nx-gzip function: | |
| ========================= | |
| Verify that following device exists: | |
| /dev/crypto/nx-gzip | |
| If you get a permission error run as sudo or set the device permissions: | |
| sudo chmod go+rw /dev/crypto/nx-gzip | |
| However, chmod may not survive across boots. You may create a udev file such | |
| as: | |
| /etc/udev/rules.d/99-nx-gzip.rules | |
| To manually build and run: | |
| $ gcc -O3 -I./include -o gzfht_test gzfht_test.c gzip_vas.c | |
| $ gcc -O3 -I./include -o gunz_test gunz_test.c gzip_vas.c | |
| Compress any file using Fixed Huffman mode. Output will have a .nx.gz suffix: | |
| $ ./gzfht_test gzip_vas.c | |
| file gzip_vas.c read, 6413 bytes | |
| compressed 6413 to 3124 bytes total, crc32 checksum = abd15e8a | |
| Uncompress the previous output. Output will have a .nx.gunzip suffix: | |
| ./gunz_test gzip_vas.c.nx.gz | |
| gzHeader FLG 0 | |
| 00 00 00 00 04 03 | |
| gzHeader MTIME, XFL, OS ignored | |
| computed checksum abd15e8a isize 0000190d | |
| stored checksum abd15e8a isize 0000190d | |
| decomp is complete: fclose | |
| Compare two files: | |
| $ sha1sum gzip_vas.c.nx.gz.nx.gunzip gzip_vas.c | |
| bf43e3c0c3651f5f22b6f9784cd9b1eeab4120b6 gzip_vas.c.nx.gz.nx.gunzip | |
| bf43e3c0c3651f5f22b6f9784cd9b1eeab4120b6 gzip_vas.c | |
| Note that the code here are intended for testing the nx-gzip hardware function. | |
| They are not intended for demonstrating performance or compression ratio. | |
| By being simplistic these selftests expect to allocate the entire set of source | |
| and target pages in the memory so it needs enough memory to work. | |
| For more information and source code consider using: | |
| https://github.com/libnxz/power-gzip |