(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.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 16] ) ] spids: [16777215 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:{(EmptyPart)} 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: F 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 ops: [Op_DPipe] 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: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE') (.sed))} ) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (SimpleCommand words: [ {(scripts/unifdef)} {(-U__KERNEL__)} {(-D__EXPORTED_HEADERS__)} {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE') (.sed))} ] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE'))} ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-gt)} {(1)} {(Lit_Other ']')}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$OUTDIR') (/) ($ VSub_Name '$FILE') (.sed))}) ] spids: [132 275] ) spids: [127 16777215] ) (C {(trap)} {(-)} {(EXIT)}) ] )