(CommandList children: [ (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')})] action: [ (C {(echo)} {(DQ ('Usage: headers_install.sh OUTDIR SRCDIR [FILES...]'))}) (C {(echo)}) (C {(echo)} {(DQ ('Prepares kernel header files for use by user space, by removing'))}) (C {(echo)} {(DQ ('all compiler.h definitions and #includes, removing any'))}) (C {(echo)} {(DQ ('#ifdef __KERNEL__ sections, and putting __underscores__ around'))}) (C {(echo)} {(DQ ('asm/inline/volatile keywords.'))}) (C {(echo)}) (C {(echo)} {(DQ ('OUTDIR: directory to write each userspace header FILE to.'))}) (C {(echo)} {(DQ ('SRCDIR: source directory where files are picked.'))}) (C {(echo)} {(DQ ('FILES: list of header files to operate on.'))}) (C {(exit)} {(1)}) ] spids: [-1 16] ) ] spids: [-1 86] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OUTDIR) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [93] ) ] spids: [93] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRCDIR) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [100] ) ] spids: [100] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FILE) op:Equal rhs:{(SQ )} spids:[112])] spids: [112] ) (C {(trap)} {(SQ <'rm -f "$OUTDIR/$FILE" "$OUTDIR/$FILE.sed"'>)} {(EXIT)}) (ForEach iter_name: i iter_words: [{(DQ ($ VSub_At '$@'))}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FILE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(basename)} {(DQ ($ VSub_Name '$i'))})] ) left_token: <Left_CommandSub '$('> spids: [137 143] ) ) } spids: [135] ) ] spids: [135] ) (AndOr children: [ (SimpleCommand words: [ {(sed)} {(-r)} {(-e)} {(SQ <'s/([ \\t(])(__user|__force|__iomem)[ \\t]/\\1/g'>)} {(-e)} {(SQ <'s/__attribute_const__([ \\t]|$)/\\1/g'>)} {(-e)} {(SQ <'s@^#include <linux/compiler.h>@@'>)} {(-e)} { (SQ < 's/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\\1__attribute__((packed))\\2/g' > ) } {(-e)} {(SQ <'s/(^|[ \\t(])(inline|asm|volatile)([ \\t(]|$)/\\1__\\2__\\3/g'>)} {(-e)} {(SQ <'s@#(ifndef|define|endif[ \\t]*/[*])[ \\t]*_UAPI@#\\1 @'>)} {(DQ ($ VSub_Name '$SRCDIR') (/) ($ VSub_Name '$i'))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE') (.sed))} spids: [207] ) ] ) (C {(exit)} {(1)}) ] op_id: Op_DPipe ) (SimpleCommand words: [ {(scripts/unifdef)} {(-U__KERNEL__)} {(-D__EXPORTED_HEADERS__)} {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE') (.sed))} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE'))} spids: [238] ) ] ) (AndOr children: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-gt)} {(1)} {(Lit_Other ']')}) (C {(exit)} {(1)}) ] op_id: Op_DAmp ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE') (.sed))}) ] spids: [132 275] ) spids: [127 -1] ) (C {(trap)} {(-)} {(EXIT)}) ] )