var KSUDPSocketLibrary = 
{
    KS_CreateUDPSocket:function() {
        var res = window.GameGlobal.KSWASMSDK.KS_CreateUDPSocket();
        var bufferSize = lengthBytesUTF8(res || '') + 1;
        var buffer = _malloc(bufferSize);
        stringToUTF8(res, buffer, bufferSize);
        return buffer;
    },
    KS_UDPSocketClose:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketClose(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketConnect:function(id, option) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketConnect(_KSPointer_stringify_adaptor(id), _KSPointer_stringify_adaptor(option));
    },
    KS_UDPSocketOffClose:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOffClose(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketOffError:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOffError(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketOffListening:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOffListening(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketOffMessage:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOffMessage(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketOnClose:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOnClose(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketOnError:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOnError(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketOnListening:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOnListening(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketOnMessage:function(id, needInfo) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketOnMessage(_KSPointer_stringify_adaptor(id), needInfo);
    },
    KS_UDPSocketSendString:function(id, data, param) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketSendString(_KSPointer_stringify_adaptor(id), _KSPointer_stringify_adaptor(data), _KSPointer_stringify_adaptor(param));
    },
    KS_UDPSocketSendBuffer:function(id, dataPtr, dataLength, param) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketSendBuffer(_KSPointer_stringify_adaptor(id), dataPtr, dataLength, _KSPointer_stringify_adaptor(param));
    },
    KS_UDPSocketSetTTL:function(id, ttl) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketSetTTL(_KSPointer_stringify_adaptor(id), ttl);
    },
    KS_UDPSocketWrite:function(id) {
        window.GameGlobal.KSWASMSDK.KS_UDPSocketWrite(_KSPointer_stringify_adaptor(id));
    },
    KS_UDPSocketBind:function(id, param) {
        var res = window.GameGlobal.KSWASMSDK.KS_UDPSocketBind(_KSPointer_stringify_adaptor(id), _KSPointer_stringify_adaptor(param));
        return res;
    },
    KS_RegisterUDPSocketOnMessageCallback:function(callback) {
        window.GameGlobal.KSWASMSDK.KS_RegisterUDPSocketOnMessageCallback(callback);
    }
};

mergeInto(LibraryManager.library, KSUDPSocketLibrary);