<%! struct icm_pconn_info_type { int conn; int guid; int nihdl; int socket; string role; string obj_id; int obj_fd; int flags; int wp_timeout; int proc_timeout; int keep_alive_timeout; int port_local; int port_peer; string addr_local; string addr_peer; int tid; int uid; int mode; string ctx_id; int ctx_state; int partner; int client_no; int open_requests; string gwy_convid; string ext_convid; int snc_ctx_len; boolean ready4failover; boolean allowed4failover; string disconnect_time; }; /* */ static string get_partner (int partner) { switch (partner) { case 0: return ("none"); break; case 1: return ("DP"); break; case 2: return ("WP"); break; case 3: return ("ICMON"); break; case 4: return ("ICMBND"); break; case 5: return ("WEBDISPCLNT"); break; case 6: return ("JCTRL"); break; case 7: return ("JSERV"); break; case 8: return ("JCO"); break; case 9: return ("STARTSRV"); break; default: return ("unknown"); }; } static string get_flag (int flag) { switch (flag) { case 0: return ("NONE"); break; case 1: return ("BLOCK"); break; case 2: return ("CONNECTED"); break; case 4: return ("INCONN"); break; case 8: return ("TRC"); break; case 16: return ("CLOSED"); break; default: return ("unknown"); } } %> <% int nr, dir, max; int rc; string browser, appl; string sstr; struct icm_pconn_info_type icm_conn_tab[]; browser = __icm_get_browser_type(); appl = __icm_get_system_property ("app_name"); dir = __icm_get_form_field ("dir"); sstr = __icm_get_form_field ("sstr"); __icm_get_proxy_conn_info (icm_conn_tab); if (sstr != "") sort (icm_conn_tab, dir, sstr); if (dir == 1) dir = -1; else dir = 1; %> <html> <head> <link rel=stylesheet type="text/css" href="../public/css/controls_<%=browser%>.css"> <link rel=stylesheet type="text/css" href="../public/css/sapbsp.css"> <title><%=appl%> Used Connections</title> </head> <body class="sapBdy"> <table border=0 cellspacing=1 cellpadding=0 class="sapTbvAlt"> <tr> <td class="sapTbvCellAlt" Colspan="11"> <b><i>Active JCo Proxy Connections </i></b> </td> <td class="sapTbvCellAlt" align="right"> <a href="javascript:parent.frames['main'].location.reload()" class="sapBtnEmph" title="refresh page"><nobr>Refresh</nobr></a> </td> </tr> <tr> <th align="left" class="sapTbvCellAlt"> <i>No.</i> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=conn&dir=<%=dir%>" title="Sort by unique connection identifier"> <i>Conn ID</i> </a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=role&dir=<%=dir%>" title="Sort by incoming (server) or outgoing (client) connection"><i>Role</i> </a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=addr_peer&dir=<%=dir%>" title="Sort by IP address of the client"> <i>Peer Addr</i></a> : <a href="./show_pconns.icp?sstr=port_peer&dir=<%=dir%>" title="Sort by port number of the client"> <i>Port</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=addr_local&dir=<%=dir%>" title="Sort by local IP address of the connection"> <i>Local Addr</i></a> : <a href="./show_pconns.icp?sstr=port_local&dir=<%=dir%>" title="Sort by local port number of the connection"> <i>Port</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=flags&dir=<%=dir%>" title="Sort by flags"><i>Flags</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=partner&dir=<%=dir%>" title="Sort by partner"><i>partner/client</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=gwy_convid&dir=<%=dir%>" title="Sort by conversation ID"><i>convID (int/ext)</i></a> </th> <th align="left" class="sapTbvCellAlt"> <i>SNC len</i> </th> <th align="left" class="sapTbvCellAlt"> <i>Failover (ready/allowed)</i> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=disconnect_time&dir=<%=dir%>" title="Sort by disconnect time"><i>Disconnect Time</i> </a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=nihdl&dir=<%=dir%>" title="Sort by internal Network Interface Identifier for this connection"> <i>NI/socket</i> </a> </td> </tr> <% max = arraylen(icm_conn_tab); for (nr = 0; nr < max; nr++) { if (icm_conn_tab[nr].partner == 8) { %> <tr> <td class="sapTbvCellStd"><%= nr %></td> <td class="sapTbvCellStd"> (<%= icm_conn_tab[nr].conn %>/<%= icm_conn_tab[nr].guid %>) </td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].role %></td> <td class="sapTbvCellStd"> <%= icm_conn_tab[nr].addr_peer %>:<%= icm_conn_tab[nr].port_peer %> </td> <td class="sapTbvCellStd"> <%= icm_conn_tab[nr].addr_local %>:<%= icm_conn_tab[nr].port_local %> </td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].flags %></td> <td class="sapTbvCellStd"><%= get_partner(icm_conn_tab[nr].partner)%>/<%= icm_conn_tab[nr].client_no %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].gwy_convid %><br> <%= icm_conn_tab[nr].ext_convid %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].snc_ctx_len %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].ready4failover %>/<%= icm_conn_tab[nr].allowed4failover %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].disconnect_time %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].nihdl %>/<%= icm_conn_tab[nr].socket %></td> </tr> <% } } %> </table> <br> <table border=0 cellspacing=1 cellpadding=0 class="sapTbvAlt"> <tr> <td class="sapTbvCellAlt" Colspan="9"> <b><i>Active Proxy Connections </i></b> </td> <td class="sapTbvCellAlt" align="right"> <a href="javascript:parent.frames['main'].location.reload()" class="sapBtnEmph"><nobr>Refresh</nobr></a> </td> </tr> <tr> <th align="left" class="sapTbvCellAlt"> <i>No.</i> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=conn&dir=<%=dir%>" title="Sort by unique connection identifier"> <i>Conn ID</i> </a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=role&dir=<%=dir%>" title="Sort by incoming (server) or outgoing (client) connection"><i>Role</i> </a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=addr_peer&dir=<%=dir%>" title="Sort by IP address of the client"> <i>Peer Addr</i></a> : <a href="./show_pconns.icp?sstr=port_peer&dir=<%=dir%>" title="Sort by port number of the client"> <i>Port</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=addr_local&dir=<%=dir%>" title="Sort by local IP address of the connection"> <i>Local Addr</i></a> : <a href="./show_pconns.icp?sstr=port_local&dir=<%=dir%>" title="Sort by local port number of the connection"> <i>Port</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=flags&dir=<%=dir%>" title="Sort by flags"><i>Flags</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=partner&dir=<%=dir%>" title="Sort by partner"><i>partner/client</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=obj_id&dir=<%=dir%>" title="Sort by the Object Identifier"><i>Object identifier</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=tid&dir=<%=dir%>" title="Sort by Terminal ID"><i>tid/uid/mode</i></a> </th> <th align="left" class="sapTbvCellAlt"> <a href="./show_pconns.icp?sstr=nihdl&dir=<%=dir%>" title="Sort by internal Network Interface Identifier for this connection"> <i>NI/socket</i> </a> </th> </tr> <% max = arraylen(icm_conn_tab); for (nr = 0; nr < max; nr++) { if (icm_conn_tab[nr].partner != 8) { %> <tr> <td class="sapTbvCellStd"><%= nr %></td> <td class="sapTbvCellStd"> (<%= icm_conn_tab[nr].conn %>/<%= icm_conn_tab[nr].guid %>) </td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].role %></td> <td class="sapTbvCellStd"> <%= icm_conn_tab[nr].addr_peer %>:<%= icm_conn_tab[nr].port_peer %> </td> <td class="sapTbvCellStd"> <%= icm_conn_tab[nr].addr_local %>:<%= icm_conn_tab[nr].port_local %> </td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].flags %></td> <td class="sapTbvCellStd"><%= get_partner(icm_conn_tab[nr].partner)%>/<%= icm_conn_tab[nr].client_no %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].obj_id %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].tid %>/ <%= icm_conn_tab[nr].uid %>/ <%= icm_conn_tab[nr].mode %></td> <td class="sapTbvCellStd"><%= icm_conn_tab[nr].nihdl %>/<%= icm_conn_tab[nr].socket %></td> </tr> <% } } %> </table> </body> </html>