// File: mh0fm4[P]SCDC/test/units/redirect/redirect_srv.c
// Function: main
int main(int argc, char *argv[])
{
  scdc_init(SCDC_INIT_DEFAULT);

  TRACE_F("dataprov open");
  scdc_dataprov_t dp = scdc_dataprov_open(REDIRECT_TEST_SCDC_PATH, "hook", &redirect_test_hook);

  TRACE_F("nodeport open");
  scdc_nodeport_t np = scdc_nodeport_open("uds:socketname:max_connections", "redirect", 2);
/*  scdc_nodeport_t np = scdc_nodeport_open("tcp:max_connections", 2);*/

  TRACE_F("nodeport start");
  scdc_nodeport_start(np, SCDC_NODEPORT_START_ASYNC_UNTIL_CANCEL);

  printf(TRACE_PREFIX "Press <ENTER> to quit!\n");
  getchar();

  TRACE_F("nodeport stop");
  scdc_nodeport_stop(np);

  TRACE_F("nodeport close");
  scdc_nodeport_close(np);

  TRACE_F("dataprov close");
  scdc_dataprov_close(dp);

  scdc_release();

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x97d17(%rip), %rdi     # 0xa5554
movb $0x0, %al
callq 0x209b0
movq 0xc5765(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x967af(%rip), %rsi     # 0xa4004
leaq 0x967bb(%rip), %rdx     # 0xa4017
movb $0x0, %al
callq 0xc9b0
movq 0xc5746(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x967a8(%rip), %rsi     # 0xa401c
movb $0x0, %al
callq 0xc9b0
movq 0xc572e(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96fb4(%rip), %rsi     # 0xa4840
movb $0x0, %al
callq 0xc9b0
leaq 0x96790(%rip), %rdi     # 0xa402a
leaq 0x9a01f(%rip), %rsi     # 0xa78c0
leaq 0xc31e8(%rip), %rdx     # 0xd0a90
movb $0x0, %al
callq 0x20ee0
movq %rax, -0x18(%rbp)
movq 0xc56f6(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96740(%rip), %rsi     # 0xa4004
leaq 0x9674c(%rip), %rdx     # 0xa4017
movb $0x0, %al
callq 0xc9b0
movq 0xc56d7(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96750(%rip), %rsi     # 0xa4033
movb $0x0, %al
callq 0xc9b0
movq 0xc56bf(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96f45(%rip), %rsi     # 0xa4840
movb $0x0, %al
callq 0xc9b0
leaq 0x96738(%rip), %rdi     # 0xa4041
leaq 0x9671a(%rip), %rsi     # 0xa402a
movl $0x2, %edx
movb $0x0, %al
callq 0x21120
movq %rax, -0x20(%rbp)
movq 0xc5689(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x966d3(%rip), %rsi     # 0xa4004
leaq 0x966df(%rip), %rdx     # 0xa4017
movb $0x0, %al
callq 0xc9b0
movq 0xc566a(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96710(%rip), %rsi     # 0xa4060
movb $0x0, %al
callq 0xc9b0
movq 0xc5652(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96ed8(%rip), %rsi     # 0xa4840
movb $0x0, %al
callq 0xc9b0
movq -0x20(%rbp), %rdi
movl $0x4, %esi
callq 0x21230
leaq 0x966eb(%rip), %rdi     # 0xa406f
movb $0x0, %al
callq 0xcd40
callq 0xc970
movq 0xc5619(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96663(%rip), %rsi     # 0xa4004
leaq 0x9666f(%rip), %rdx     # 0xa4017
movb $0x0, %al
callq 0xc9b0
movq 0xc55fa(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x966d5(%rip), %rsi     # 0xa4095
movb $0x0, %al
callq 0xc9b0
movq 0xc55e2(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96e68(%rip), %rsi     # 0xa4840
movb $0x0, %al
callq 0xc9b0
movq -0x20(%rbp), %rdi
callq 0x21290
movq 0xc55c1(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x9660b(%rip), %rsi     # 0xa4004
leaq 0x96617(%rip), %rdx     # 0xa4017
movb $0x0, %al
callq 0xc9b0
movq 0xc55a2(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x9668b(%rip), %rsi     # 0xa40a3
movb $0x0, %al
callq 0xc9b0
movq 0xc558a(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96e10(%rip), %rsi     # 0xa4840
movb $0x0, %al
callq 0xc9b0
movq -0x20(%rbp), %rdi
callq 0x211f0
movq 0xc5569(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x965b3(%rip), %rsi     # 0xa4004
leaq 0x965bf(%rip), %rdx     # 0xa4017
movb $0x0, %al
callq 0xc9b0
movq 0xc554a(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96642(%rip), %rsi     # 0xa40b2
movb $0x0, %al
callq 0xc9b0
movq 0xc5532(%rip), %rax     # 0xd2fb0
movq (%rax), %rdi
leaq 0x96db8(%rip), %rsi     # 0xa4840
movb $0x0, %al
callq 0xc9b0
movq -0x18(%rbp), %rdi
callq 0x20fb0
callq 0x20b60
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop