base: allocate function's prototype