emunetmon.c

来自「This is a resource based on j2me embedde」· C语言 代码 · 共 2,245 行 · 第 1/4 页

C
2,245
字号
    if(f == NULL) {        f = NewLimeFunction(NETMON_SOCKET_PACKAGE,		           SOCKET_RECEIVER,		           "setSocketOption");    }    f->call(f,NULL, md, option, value);    KNI_ReturnVoid();}/* SSL Agent Methods ---------------------------------------------------*//** * int connect0(String url, int mode, long groupid) */KNIEXPORT KNI_RETURNTYPE_INTJava_com_sun_kvem_io_j2me_ssl_Protocol_connect0() {    jlong groupid;    jint mode;    jint md;    jchar* urlData;    int urlLength;    static LimeFunction *f = NULL;    KNI_StartHandles(1);    KNI_DeclareHandle(url);    KNI_GetParameterAsObject(1, url);    mode = KNI_GetParameterAsInt(2);    groupid = KNI_GetParameterAsLong(3);    DEBUG_PRINT("in ssl_Protocol_connect0\n");    urlLength = KNI_GetStringLength(url);    urlData = (jchar*)midpMalloc(urlLength * sizeof(jchar));    if (urlData == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        KNI_GetStringRegion(url, 0, urlLength, urlData);        if(f == NULL) {            f = NewLimeFunction(NETMON_SSL_PACKAGE,		               SSL_RECEIVER,		               "connect");            }        f->call(f, &md, urlData, urlLength, mode, groupid);        midpFree(urlData);    }    KNI_EndHandles();    KNI_ReturnInt(md);}/** * void disconnect0(int md) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_ssl_Protocol_disconnect0() {    int md;    static LimeFunction *f = NULL;    md = KNI_GetParameterAsInt(1);    DEBUG_PRINT("in ssl_Protocol_disconnect0\n");    if(f == NULL) {        f = NewLimeFunction(NETMON_SSL_PACKAGE,		           SSL_RECEIVER,		           "disconnect");    }    f->call(f,NULL, md);    KNI_ReturnVoid();}/** * void read0(int md, byte b[], int off, int len) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_ssl_Protocol_read0() {    int md, off, len;    jbyte* data;    int length;    KNI_StartHandles(1);    KNI_DeclareHandle(b);    md = KNI_GetParameterAsInt(1);    KNI_GetParameterAsObject(2, b);    off = KNI_GetParameterAsInt(3);    len = KNI_GetParameterAsInt(4);    DEBUG_PRINT("in ssl_Protocol_read0\n");    length = KNI_GetArrayLength(b);    data = (jbyte*) midpMalloc(length * sizeof(jbyte));    if (data == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        static LimeFunction *f = NULL;        KNI_GetRawArrayRegion(b, 0, length * sizeof(jbyte), data);        if(f == NULL) {        f = NewLimeFunction(NETMON_SSL_PACKAGE,		           SSL_RECEIVER,		           "read");        }        f->call(f,NULL, md, data, length, off, len);        midpFree(data);    }    KNI_EndHandles();    KNI_ReturnVoid();}/** * void write0(int md, byte b[], int off, int len) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_ssl_Protocol_write0() {    int md, off, len;    jbyte* data;    int length;    KNI_StartHandles(1);    KNI_DeclareHandle(b);    md = KNI_GetParameterAsInt(1);    KNI_GetParameterAsObject(2, b);    off = KNI_GetParameterAsInt(3);    len = KNI_GetParameterAsInt(4);    length = KNI_GetArrayLength(b);    data = (jbyte*) midpMalloc(length * sizeof(jbyte));    if (data == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        static LimeFunction *f = NULL;        KNI_GetRawArrayRegion(b, 0, length * sizeof(jbyte), data);        if(f == NULL) {            f = NewLimeFunction(NETMON_SSL_PACKAGE,		               SSL_RECEIVER,		               "write");        }        f->call(f, NULL, md, data, length, off, len);        midpFree(data);    }    KNI_EndHandles();    KNI_ReturnVoid();}/** * void setSocketOption(int md, byte option,  int value) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_ssl_Protocol_setSocketOption0() {    int md, value;    jbyte option;    static LimeFunction *f = NULL;    md = KNI_GetParameterAsInt(1);    option = KNI_GetParameterAsByte(2);    value = KNI_GetParameterAsInt(3);    if(f == NULL) {        f = NewLimeFunction(NETMON_SSL_PACKAGE,		           SSL_RECEIVER,		           "setSocketOption");    }    f->call(f,NULL, md, option, value);    KNI_ReturnVoid();}/* Datagram Agent Methods ---------------------------------------------------*//** * int open0(String url, int mode, long groupid) */KNIEXPORT KNI_RETURNTYPE_INTJava_com_sun_kvem_io_j2me_datagram_Protocol_open0() {    jlong groupid;    jint mode;    jint md;    jchar* urlData;    int urlLength;    static LimeFunction *f = NULL;    KNI_StartHandles(1);    KNI_DeclareHandle(url);    KNI_GetParameterAsObject(1, url);    mode = KNI_GetParameterAsInt(2);    groupid = KNI_GetParameterAsLong(3);    DEBUG_PRINT("in datagram_Protocol_open0\n");    urlLength = KNI_GetStringLength(url);    urlData = (jchar*)midpMalloc(urlLength * sizeof(jchar));    if (urlData == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        KNI_GetStringRegion(url, 0, urlLength, urlData);        if(f == NULL) {            f = NewLimeFunction(NETMON_DATAGRAM_PACKAGE,		               DATAGRAM_RECEIVER,		               "open");        }        f->call(f, &md, urlData, urlLength, mode, groupid);        midpFree(urlData);    }    KNI_EndHandles();    KNI_ReturnInt(md);}/** * void close0(int md) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_datagram_Protocol_close0() {    int md;    static LimeFunction *f = NULL;    md = KNI_GetParameterAsInt(1);    DEBUG_PRINT("in datagram_Protocol_close0\n");    if(f == NULL) {        f = NewLimeFunction(NETMON_DATAGRAM_PACKAGE,		           DATAGRAM_RECEIVER,		           "close");    }    f->call(f,NULL, md);    KNI_ReturnVoid();}/** * void receive0(int md) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_datagram_Protocol_receive0() {    int md;    static LimeFunction *f = NULL;    md = KNI_GetParameterAsInt(1);    if(f == NULL) {        f = NewLimeFunction(NETMON_DATAGRAM_PACKAGE,		           DATAGRAM_RECEIVER,		           "receive");    }    f->call(f, NULL, md);    KNI_ReturnVoid();}/** * void received0(int md, byte b[], int off, int len) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_datagram_Protocol_received0() {    int md, off, len;    jbyte* data;    int length;    KNI_StartHandles(1);    KNI_DeclareHandle(b);    md = KNI_GetParameterAsInt(1);    KNI_GetParameterAsObject(2, b);    off = KNI_GetParameterAsInt(3);    len = KNI_GetParameterAsInt(4);    DEBUG_PRINT("in datagram_Protocol_received0\n");    length = KNI_GetArrayLength(b);    data = (jbyte*) midpMalloc(length * sizeof(jbyte));    if (data == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        static LimeFunction *f = NULL;        KNI_GetRawArrayRegion(b, 0, length * sizeof(jbyte), data);        if(f == NULL) {            f =NewLimeFunction(NETMON_DATAGRAM_PACKAGE,		               DATAGRAM_RECEIVER,		               "received");        }        f->call(f, NULL, md, data, length, off, len);        midpFree(data);    }    KNI_EndHandles();    KNI_ReturnVoid();}/** * void send0(int md, byte b[], int off, int len) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_datagram_Protocol_send0() {    int md, off, len;    jbyte* data;    int length;    KNI_StartHandles(1);    KNI_DeclareHandle(b);    md = KNI_GetParameterAsInt(1);    KNI_GetParameterAsObject(2, b);    off = KNI_GetParameterAsInt(3);    len = KNI_GetParameterAsInt(4);    DEBUG_PRINT("in datagram_Protocol_send0\n");    length = KNI_GetArrayLength(b);    data = (jbyte*) midpMalloc(length * sizeof(jbyte));    if (data == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        static LimeFunction *f = NULL;        KNI_GetRawArrayRegion(b, 0, length * sizeof(jbyte), data);        if(f == NULL) {            f =NewLimeFunction(NETMON_DATAGRAM_PACKAGE,		               DATAGRAM_RECEIVER,		               "send");        }        f->call(f, NULL, md, data, length, off, len);        midpFree(data);    }    KNI_EndHandles();    KNI_ReturnVoid();}/* Comm Agent Methods ---------------------------------------------------*//** * int connect0(String url, int mode, long groupid) */KNIEXPORT KNI_RETURNTYPE_INTJava_com_sun_kvem_io_j2me_comm_Protocol_connect0() {    jlong groupid;    jint mode;    jint md;    jchar* urlData;    int urlLength;    static LimeFunction *f = NULL;    KNI_StartHandles(1);    KNI_DeclareHandle(url);    KNI_GetParameterAsObject(1, url);    mode = KNI_GetParameterAsInt(2);    groupid = KNI_GetParameterAsLong(3);    DEBUG_PRINT("in comm_Protocol_connect0\n");    urlLength = KNI_GetStringLength(url);    urlData = (jchar*)midpMalloc(urlLength * sizeof(jchar));    if (urlData == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        KNI_GetStringRegion(url, 0, urlLength, urlData);        if(f == NULL) {            f =NewLimeFunction(NETMON_COMM_PACKAGE,		               COMM_RECEIVER,		               "connect");        }        f->call(f, &md, urlData, urlLength, mode, groupid);        midpFree(urlData);    }    KNI_EndHandles();    KNI_ReturnInt(md);}/** * void disconnect0(int md) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_comm_Protocol_disconnect0() {    int md;    static LimeFunction *f = NULL;    md = KNI_GetParameterAsInt(1);    DEBUG_PRINT("in comm_Protocol_disconnect0\n");    if(f == NULL) {        f =NewLimeFunction(NETMON_COMM_PACKAGE,		           COMM_RECEIVER,		           "disconnect");    }    f->call(f,NULL, md);    KNI_ReturnVoid();}/** * void read0(int md, byte b[], int off, int len) */KNIEXPORT KNI_RETURNTYPE_VOID Java_com_sun_kvem_io_j2me_comm_Protocol_read0() {    int md, off, len;    jbyte* data;    int length;    KNI_StartHandles(1);    KNI_DeclareHandle(b);    md = KNI_GetParameterAsInt(1);    KNI_GetParameterAsObject(2, b);    off = KNI_GetParameterAsInt(3);    len = KNI_GetParameterAsInt(4);    DEBUG_PRINT("in comm_Protocol_read0\n");    length = KNI_GetArrayLength(b);    data = (jbyte*) midpMalloc(length * sizeof(jbyte));    if (data == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        static LimeFunction *f = NULL;        KNI_GetRawArrayRegion(b, 0, length * sizeof(jbyte), data);        if(f == NULL) {            f =NewLimeFunction(NETMON_COMM_PACKAGE,		               COMM_RECEIVER,		               "read");        }        f->call(f, NULL, md, data, length, off, len);        midpFree(data);    }    KNI_EndHandles();    KNI_ReturnVoid();}/** * void write0(int md, byte b[], int off, int len) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_comm_Protocol_write0() {    int md, off, len;    jbyte* data;    int length;    KNI_StartHandles(1);    KNI_DeclareHandle(b);    md = KNI_GetParameterAsInt(1);    KNI_GetParameterAsObject(2, b);    off = KNI_GetParameterAsInt(3);    len = KNI_GetParameterAsInt(4);    DEBUG_PRINT("in comm_Protocol_write0\n");    length = KNI_GetArrayLength(b);    data = (jbyte*) midpMalloc(length * sizeof(jbyte));    if (data == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        static LimeFunction *f = NULL;        KNI_GetRawArrayRegion(b, 0, length * sizeof(jbyte), data);        if(f == NULL) {            f =NewLimeFunction(NETMON_COMM_PACKAGE,		               COMM_RECEIVER,		               "write");        }        f->call(f, NULL, md, data, length, off, len);        midpFree(data);    }    KNI_EndHandles();    KNI_ReturnVoid();}/** * void setBaudRate0(int md, int baudrate) */KNIEXPORT KNI_RETURNTYPE_VOIDJava_com_sun_kvem_io_j2me_comm_Protocol_setBaudRate0() {    int md, baudrate;    static LimeFunction *f = NULL;    md = KNI_GetParameterAsInt(1);    baudrate = KNI_GetParameterAsInt(2);    DEBUG_PRINT("in comm_Protocol_setBaudRate0\n");    if(f == NULL) {        f = NewLimeFunction(NETMON_COMM_PACKAGE,		           COMM_RECEIVER,		           "setBaudRate");    }    f->call(f, NULL, md, baudrate);    KNI_ReturnVoid();}/* SMS Agent Methods ---------------------------------------------------*//** * int open0(String name, int mode, long groupid) */KNIEXPORT KNI_RETURNTYPE_INTJava_com_sun_kvem_io_j2me_sms_DatagramImpl_open0() {    jlong groupid;    jint mode;    jint md;    jchar* nameData;    int nameLength;    static LimeFunction *f = NULL;    KNI_StartHandles(1);    KNI_DeclareHandle(name);    KNI_GetParameterAsObject(1, name);    mode = KNI_GetParameterAsInt(2);    groupid = KNI_GetParameterAsLong(3);    DEBUG_PRINT("in sms_DatagramImpl_open0\n");    nameLength = KNI_GetStringLength(name);    nameData = (jchar*)midpMalloc(nameLength * sizeof(jchar));    if (nameData == NULL) {        KNI_ThrowNew("java/lang/OutOfMemoryError", "");    } else {        KNI_GetStringRegion(name, 0, nameLength, nameData);        if (f==NULL) {            f = NewLimeFunction(NETMON_SMS_PACKAGE,		           SMS_RECEIVER,		           "open");        }        f->call(f, &md, nameData, nameLength, mode, groupid);        midpFree(nameData);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?