How do we define the term "computation" across models of computation? How do we define the term computation / computable function generically across models of computation?
Beginning with the textbook definitions of: {Linz, Sipser and Kozen} for &quot;computable function&quot;.
A function f with domain f is said to be Turing-computable of just computable if there exists some Turing machine M = (Q, Σ, Γ, δ, q0, □, F)
such that q0w ⊢* Mqₘf(w), qₘ ∈ F, for all w ∈ D  (Linz:1990:243)
Computable Functions
A Turing machine computes a function by starting with the input to the function on the tape and halting with the output of the function on the tape. (Sipser:1997:190)
Definition 5.12
A function f: Σ* → Σ* is a computable function if some Turing machine M, on every input w, halts with just f(w) on its tape.  (Sipser:1997:190)
A partial function σ: Σ* → Σ* is said to be a computable function if σ(x) = M(x) for some Turing machine M. (Kozen:1997:347)
I need to have the term [computable function] defined generically across models of computation so that I can know whether or not a specific C function is a [computable function].
Linz, Peter 1990. An Introduction to Formal Languages and Automata. Lexington/Toronto: D. C. Heath and Company.
Sipser, Michael 1997. Introduction to the Theory of Computation. Boston: PWS Publishing Company
Kozen, Dexter 1997. Automata and Computability. New York: Springer-Verlag.
Definition 5.12 is a standard way of defining a &quot;computable function&quot;.  I see that you wish it was defined generically, but things are not as you wish they were; computability is typically defined with respect to a single model of computation.
That said, if you have any other Turing-complete notion of computation, then it is easy to prove that you can replace &quot;Turing machine&quot; with &quot;machine in that model of computation&quot; and you'll get an equivalent notion: in other words, there will be a Turing machine that computes $f$ iff there is a machine in that model of computation that computes $f$.  So the concept is indeed quite generic, even if the definition is not articulated that way.
See also https://en.wikipedia.org/wiki/Computable_function#Definition.
The exact semantics of C are messy and hard to formalize, and there appears to be some debate about whether C is Turing-complete, so C code is typically not a good way to prove that a function is computable or to reason about whether a function is computable.