replace runtime by compile time parameters

some parameters are known before using the api. those parameters are
now defined as preprocessor values.