diff --git a/src/classlib/remote.cc b/src/classlib/remote.cc index 295323d..a15754d 100644 --- a/src/classlib/remote.cc +++ b/src/classlib/remote.cc @@ -56,7 +56,10 @@ #define HLLAPI_PACKET_GET_CURSOR "getCursorAddress" #define HLLAPI_PACKET_ENTER "enter" #define HLLAPI_PACKET_QUIT "quit" + #define HLLAPI_PACKET_ERASE "erase" #define HLLAPI_PACKET_ERASE_EOF "eraseEOF" + #define HLLAPI_PACKET_ERASE_EOL "eraseEOL" + #define HLLAPI_PACKET_ERASE_INPUT "eraseInput" #define HLLAPI_PACKET_PRINT "print" #define HLLAPI_PACKET_ASC2EBC "asc2ebc" #define HLLAPI_PACKET_EBC2ASC "ebc2asc" @@ -1338,11 +1341,26 @@ #endif // HAVE_DBUS + int erase(void) + { + return query_intval(HLLAPI_PACKET_ERASE); + } + int erase_eof(void) { return query_intval(HLLAPI_PACKET_ERASE_EOF); } + int erase_eol(void) + { + return query_intval(HLLAPI_PACKET_ERASE_EOL); + } + + int erase_input(void) + { + return query_intval(HLLAPI_PACKET_ERASE_INPUT); + } + int print(void) { return query_intval(HLLAPI_PACKET_PRINT); diff --git a/src/classlib/session.cc b/src/classlib/session.cc index 4775a7f..d77d26c 100644 --- a/src/classlib/session.cc +++ b/src/classlib/session.cc @@ -532,22 +532,20 @@ switch(mode) { case 0: - erase(); - break; + return erase(); case 1: - erase_eof(); - break; + return erase_eof(); case 2: - erase_eol(); - break; + return erase_eol(); case 3: - erase_input(); - break; + return erase_input(); } + + return -1; } diff --git a/src/include/pw3270/ipcpackets.h b/src/include/pw3270/ipcpackets.h index c6c5d0c..fa8c664 100644 --- a/src/include/pw3270/ipcpackets.h +++ b/src/include/pw3270/ipcpackets.h @@ -47,7 +47,10 @@ HLLAPI_PACKET_SET_CURSOR, HLLAPI_PACKET_GET_CURSOR, HLLAPI_PACKET_EMULATE_INPUT, + HLLAPI_PACKET_ERASE, HLLAPI_PACKET_ERASE_EOF, + HLLAPI_PACKET_ERASE_EOL, + HLLAPI_PACKET_ERASE_INPUT, HLLAPI_PACKET_PRINT, HLLAPI_PACKET_GET_CSTATE, HLLAPI_PACKET_IS_READY, diff --git a/src/java/plugin.cc b/src/java/plugin.cc index 194bc4a..cf60320 100644 --- a/src/java/plugin.cc +++ b/src/java/plugin.cc @@ -202,10 +202,22 @@ return lib3270_pakey(hSession,key); } + int erase(void) { + return lib3270_erase(hSession); + } + int erase_eof(void) { return lib3270_eraseeof(hSession); } + int erase_eol(void) { + return lib3270_eraseeol(hSession); + } + + int erase_input(void) { + return lib3270_eraseinput(hSession); + } + int print(void) { return lib3270_print(hSession); } diff --git a/src/plugins/hllapi/pluginmain.c b/src/plugins/hllapi/pluginmain.c index fe746ec..94d40c9 100644 --- a/src/plugins/hllapi/pluginmain.c +++ b/src/plugins/hllapi/pluginmain.c @@ -236,10 +236,22 @@ send_result(source,lib3270_print(lib3270_get_default_session_handle())); break; + case HLLAPI_PACKET_ERASE: + send_result(source,lib3270_erase(lib3270_get_default_session_handle())); + break; + case HLLAPI_PACKET_ERASE_EOF: send_result(source,lib3270_eraseeof(lib3270_get_default_session_handle())); break; + case HLLAPI_PACKET_ERASE_EOL: + send_result(source,lib3270_eraseeol(lib3270_get_default_session_handle())); + break; + + case HLLAPI_PACKET_ERASE_INPUT: + send_result(source,lib3270_eraseinput(lib3270_get_default_session_handle())); + break; + case HLLAPI_PACKET_PFKEY: send_result(source,lib3270_pfkey( lib3270_get_default_session_handle(), ((struct hllapi_packet_keycode *) source->buffer)->keycode)); diff --git a/src/plugins/rx3270/pluginmain.cc b/src/plugins/rx3270/pluginmain.cc index 09015bf..b745ad3 100644 --- a/src/plugins/rx3270/pluginmain.cc +++ b/src/plugins/rx3270/pluginmain.cc @@ -116,7 +116,11 @@ int pfkey(int key); int pakey(int key); + int erase(void); int erase_eof(void); + int erase_eol(void); + int erase_input(void); + int print(void); int get_field_start(int baddr = -1); @@ -765,11 +769,26 @@ string plugin::get_display_charset(void) return string(lib3270_get_display_charset(hSession)); } +int plugin::erase(void) +{ + return lib3270_erase(hSession); +} + int plugin::erase_eof(void) { return lib3270_eraseeof(hSession); } +int plugin::erase_eol(void) +{ + return lib3270_eraseeol(hSession); +} + +int plugin::erase_input(void) +{ + return lib3270_eraseinput(hSession); +} + int plugin::print(void) { return lib3270_print(hSession); -- libgit2 0.21.2