generical c library