uitl function for c/c++