mirror of https://github.com/aya-rs/aya
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
| #!/usr/bin/env sh
 | |
| 
 | |
| LIBBPF_DIR=$1
 | |
| OUTPUT_DIR=$2
 | |
| 
 | |
| if test -z "$LIBBPF_DIR"; then
 | |
|     echo "error: no libbpf dir provided"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| if test -z "$OUTPUT_DIR"; then
 | |
|     echo "error: no output dir provided"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| BPF_TYPES="\
 | |
|     bpf_cmd \
 | |
|     bpf_insn \
 | |
|     bpf_attr \
 | |
|     bpf_map_type \
 | |
|     bpf_prog_type \
 | |
|     bpf_attach_type
 | |
|     "
 | |
| 
 | |
| BPF_VARS="\
 | |
|     BPF_PSEUDO_.*
 | |
|     "
 | |
| 
 | |
| PERF_TYPES="\
 | |
|     perf_event_attr \
 | |
|     perf_sw_ids \
 | |
|     perf_event_sample_format \
 | |
|     perf_event_mmap_page \
 | |
|     perf_event_header \
 | |
|     perf_type_id \
 | |
|     perf_event_type
 | |
|     "
 | |
| 
 | |
| PERF_VARS="\
 | |
|     PERF_FLAG_.* \
 | |
|     PERF_EVENT_.*
 | |
|     "
 | |
| 
 | |
| bindgen $LIBBPF_DIR/include/uapi/linux/bpf.h \
 | |
|     --no-layout-tests \
 | |
|     --default-enum-style moduleconsts \
 | |
|     $(for ty in $BPF_TYPES; do
 | |
|         echo --whitelist-type "$ty"
 | |
|     done) \
 | |
|     $(for var in $BPF_VARS; do
 | |
|         echo --whitelist-var "$var"
 | |
|     done) \
 | |
|     > $OUTPUT_DIR/bpf_bindings.rs
 | |
| 
 | |
| bindgen include/perf_wrapper.h \
 | |
|     --no-layout-tests \
 | |
|     --default-enum-style moduleconsts \
 | |
|     $(for ty in $PERF_TYPES; do
 | |
|         echo --whitelist-type "$ty"
 | |
|     done) \
 | |
|     $(for var in $PERF_VARS; do
 | |
|         echo --whitelist-var "$var"
 | |
|     done) \
 | |
|     > $OUTPUT_DIR/perf_bindings.rs |