prototype for socket30