A különböző attribútumok lehetséges értékei:
linkelés: private, linker_private, linker_private_weak, linker_private_weak_def_auto, internal, available_externally, linkonce, weak, common, appending, extern_weak, linkonce_odr, weak_odr, external, dllimport, dllexport
láthatóság: default, hidden, protected
hívási konvenció: ccc, fastcc, coldcc, cc 10 (GHC), cc <n> (Numbered)
visszatérési attribútumok: zeroext, signext, inreg, byval, sret, noalias, nocapture, nest
függvény attribútumok: address_safety, alignstack(<n>), alwaysinline, nonlazybind, inlinehint, naked, noimplicitfloat, noinline, noredzone, noreturn, nounwind, optsize, readnone, readonly, returns_twice, ssp, sspreq, uwtable
Az attribútumok részletes leírása a nyelv referencia dokumentációjában található.
A függvények típusát a következőképpen jelölhetjük: <visszatérési érték típus> (<paraméterek típusa>). Például: {i32, i32} (float*, i1) egy olyan függvény típusát jelöli, ami egy 32 bites egészekből álló párt ad vissza, és egy lebegőpontos szám mutatóját, illetve egy logikai értéket vár paraméterül.
Függvényhívást a call utasítás segítségével végezhetünk. Az utasításnak meg kell adni egy függvény-mutatót és a paramétereket. Opcionálisan egyéb paraméterek is megadhatók (hívási konvenció, visszatérési attribútumok, a függvény típusa). Példa: