c.d.gen (638B)
1 #!/bin/bash 2 3 ( 4 cd "$(dirname "$0")" 5 6 echo "module nfc.c;" 7 echo "extern(C):" 8 awk -f types.awk '/usr/include/nfc/nfc-types.h' 9 echo "alias nfc_connstring = char[NFC_BUFSIZE_CONNSTRING];" 10 echo "enum NFC {" 11 awk '/#define/ {gsub("NFC_","",$2); print "\t" $2 " = "$3 ",\n"}' /usr/include/nfc/nfc.h 12 echo "}" 13 awk '/^NFC_EXPORT/ {gsub("const char","const(char)"); gsub("NFC_EXPORT ", ""); gsub("ATTRIBUTE_NONNULL\\([0-9]\\)",""); gsub("nfc_connstring","char*"); print $0;}' '/usr/include/nfc/nfc.h' 14 ) | sed 's/uint8_t/ubyte/g; s/\([^ ]\+\) \+\([^ \[]\+\)\[\([0-9]*\)\]/\1[\3] \2/g; s/\*\*const/\*\*/g; s/uint32_t/uint/g; s/(void)/()/g; s/\[\]/*/g'