linux programming interface