/* Send a self-contained ISO PDU */
static void
-iso_send_msg(uint8 code)
+iso_send_msg(uint8 code, uint8 class)
{
STREAM s;
out_uint8(s, 6); /* hdrlen */
out_uint8(s, code);
- out_uint16(s, 0); /* dst_ref */
- out_uint16(s, 0); /* src_ref */
- out_uint8(s, 0); /* class */
+ out_uint16(s, 0); /* dst_ref */
+ out_uint16_be(s, 0x1234); /* src_ref */
+ out_uint8(s, class); /* class */
s_mark_end(s);
tcp_send(s);
if ((version & 3) == 0)
{
- // FIXME :-)
- // rdp5_process(s, version & 0x80);
- printf("rdp5_process()\n");
- goto next_packet;
+ rdp5_process(s, version & 0x80);
+ return NULL;
}
in_uint8s(s, 1); /* hdrlen */
BOOL
iso_recv_connect(int server_sock)
{
- STREAM s;
+ STREAM s, t;
uint8 code;
tcp_recv_connect(server_sock);
DEBUG(("Got ISO connection request\n"));
+ iso_send_msg(ISO_PDU_CC, 0);
return 1;
}
void
iso_disconnect(void)
{
- iso_send_msg(ISO_PDU_DR);
+ iso_send_msg(ISO_PDU_DR, 0);
tcp_disconnect();
}