aboutsummaryrefslogtreecommitdiff
path: root/script/gen-manual-mach.sh
blob: b740af9f9363f61b22252aa3a77ba13bf647033e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
out=generated/manual-mach.inc.h
(mig -user /dev/stdout -server /dev/null -header /dev/null /usr/include/mach/{thread_act,mach_vm}.defs |
     unifdef -U__MigTypeCheck |
     grep -v '#define USING_VOUCHERS' |
     sed -E 's/(mach_msg|memcpy)\(/manual_\1(/g;
             s/^\)/, mach_port_t reply_port)/;
             s/mig_external kern_return_t /static kern_return_t manual_/;
             s/_kernelrpc_//;
             s/mig_get_reply_port\(\)/reply_port/g' |
     awk 'BEGIN { on = 1 }
          /^\/\* Routine / { on = /thread_[gs]et_state|vm_remap/; }
          on { print }' > $out) || rm -f $out