#!/bin/sh # SPDX-License-Identifier: GPL-2.0 ATOMICDIR=$(dirname $0) . ${ATOMICDIR}/atomic-tbl.sh #gen_proto_order_variant(meta, pfx, name, sfx, order, atomic, int, arg...) gen_proto_order_variant() { local meta="$1"; shift local pfx="$1"; shift local name="$1"; shift local sfx="$1"; shift local order="$1"; shift local atomic="$1"; shift local int="$1"; shift local atomicname="${atomic}_${pfx}${name}${sfx}${order}" local ret="$(gen_ret_type "${meta}" "${int}")" local params="$(gen_params "${int}" "${atomic}" "$@")" local args="$(gen_args "$@")" local retstmt="$(gen_ret_stmt "${meta}")" cat < // TODO: Remove this after INLINE_HELPERS support is added. #ifndef __rust_helper #define __rust_helper #endif EOF grep '^[a-z]' "$1" | while read name meta args; do gen_proto "${meta}" "${name}" "atomic" "int" ${args} done grep '^[a-z]' "$1" | while read name meta args; do gen_proto "${meta}" "${name}" "atomic64" "s64" ${args} done cat <