libnfc-d

git clone git://xatko.vsos.ethz.ch/libnfc-d.git
Log | Files | Refs

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'