#Include #define DLLEXPORT __declspec(dllexport) __cdecl int DLLEXPORT c_func (OCIExtProcContext *ctx, OCILobLocator *lobl); int c_func (OCIExtProcContext *ctx, OCILobLocator *lobl) { /*Place function code here */ return 0; } The external callout can be tested using PL/SQL: declare i binary_integer; x ext_objtype; begin x := ext_objtype(EMPTY_CLOB()); i := x.ext_objtype_func(); DBMS_OUTPUT.PUT_LINE('ext_objtype_func() returned ' || i); end;