// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_fs2.cc
// Function: scdc_dataset_fs2_store::do_cmd_info(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, _scdc_dataset_inout_t*, _scdc_dataset_inout_t*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
bool do_cmd_info(const string &params, scdc_dataset_input_t *input, scdc_dataset_output_t *output, scdc_result &result)
    {
      SCDC_TRACE("do_cmd_info: '" << params << "'");

      scdc_dataprov_fs2 *dataprov_fs2 = static_cast<scdc_dataprov_fs2 *>(dataprov);

      string main_path;
      dataprov_fs2->do_full_path(0, main_path);

      SCDC_TRACE("do_cmd_info: main_path: '" << main_path << "'");

      DIR *dir = opendir(main_path.c_str());

      if (!dir)
      {
        result = "opening failed";
        SCDC_FAIL(__func__ << ": opening directory '" << main_path << "' failed: " << result);
        return false;
      }

      scdcint_t nstores = dir_count_stores(dir);

      closedir(dir);

      result = string("admin: ") + (admin?"yes":"no") + ", stores: " + zxx::to_string(nstores);

      return true;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x190, %rsp            # imm = 0x190
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x130(%rbp)
jmp 0x77f5c
movq -0x130(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
leaq -0x58(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0xc960
movq -0x138(%rbp), %rdx
movq -0x38(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x716b0
jmp 0x77f91
jmp 0x77f93
jmp 0x77f95
jmp 0x77f97
leaq -0x58(%rbp), %rdi
callq 0xc260
movq %rax, %rdi
callq 0xca20
movq %rax, -0x140(%rbp)
jmp 0x77fb1
movq -0x140(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
jne 0x7811e
movq -0x30(%rbp), %rdi
leaq 0x307f2(%rip), %rsi     # 0xa87c4
callq 0xc920
jmp 0x77fd9
jmp 0x77fdb
leaq 0x5c6c6(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
cmpq $0x0, %rax
je 0x7810a
leaq 0x5c6ad(%rip), %rax     # 0xd46a8
movq %rax, -0x150(%rbp)
movq (%rax), %rdi
callq 0x25800
movq -0x150(%rbp), %rax
movq (%rax), %rdi
callq 0x257e0
movq %rax, %rdi
leaq 0x2e18d(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x148(%rbp)
jmp 0x78031
movq -0x148(%rbp), %rdi
leaq 0x30593(%rip), %rsi     # 0xa85d2
callq 0xc670
movq %rax, -0x158(%rbp)
jmp 0x7804d
movq -0x158(%rbp), %rdi
leaq 0x2ec0f(%rip), %rsi     # 0xa6c6a
callq 0xc670
movq %rax, -0x160(%rbp)
jmp 0x78069
movq -0x160(%rbp), %rdi
leaq 0x3056e(%rip), %rsi     # 0xa85e5
callq 0xc670
movq %rax, -0x168(%rbp)
jmp 0x78085
movq -0x168(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x170(%rbp)
jmp 0x7809e
movq -0x170(%rbp), %rdi
leaq 0x2e91c(%rip), %rsi     # 0xa69c8
callq 0xc670
movq %rax, -0x178(%rbp)
jmp 0x780ba
movq -0x178(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x180(%rbp)
jmp 0x780d3
movq -0x180(%rbp), %rdi
movq 0x5bedf(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x780e8
leaq 0x5c5b9(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x7810a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x782f4
jmp 0x7810c
jmp 0x7810e
movb $0x0, -0x1(%rbp)
movl $0x1, -0x74(%rbp)
jmp 0x782dd
movq -0x70(%rbp), %rdi
callq 0x727b0
movq %rax, -0x188(%rbp)
jmp 0x78130
movq -0x188(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x70(%rbp), %rdi
callq 0xcb00
jmp 0x78146
leaq -0x101(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0xcbc0
movq -0x190(%rbp), %rdx
leaq 0x3066c(%rip), %rsi     # 0xa87d3
leaq -0x100(%rbp), %rdi
callq 0x27820
jmp 0x78175
movq -0x130(%rbp), %rax
movb 0x6c(%rax), %cl
leaq 0x30655(%rip), %rax     # 0xa87db
leaq 0x30652(%rip), %rdx     # 0xa87df
testb $0x1, %cl
cmovneq %rax, %rdx
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x2eef0
jmp 0x781a9
leaq 0x30632(%rip), %rdx     # 0xa87e2
leaq -0xc0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x2eef0
jmp 0x781c5
movq -0x80(%rbp), %rsi
leaq -0x128(%rbp), %rdi
callq 0x3b370
jmp 0x781d7
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0x128(%rbp), %rdx
callq 0x3b090
jmp 0x781f3
movq -0x30(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xc850
leaq -0xa0(%rbp), %rdi
callq 0xc3e0
leaq -0x128(%rbp), %rdi
callq 0xc3e0
leaq -0xc0(%rbp), %rdi
callq 0xc3e0
leaq -0xe0(%rbp), %rdi
callq 0xc3e0
leaq -0x100(%rbp), %rdi
callq 0xc3e0
leaq -0x101(%rbp), %rdi
callq 0xc730
movb $0x1, -0x1(%rbp)
movl $0x1, -0x74(%rbp)
jmp 0x782dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x782cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x782c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x782b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x782ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x128(%rbp), %rdi
callq 0xc3e0
leaq -0xc0(%rbp), %rdi
callq 0xc3e0
leaq -0xe0(%rbp), %rdi
callq 0xc3e0
leaq -0x100(%rbp), %rdi
callq 0xc3e0
leaq -0x101(%rbp), %rdi
callq 0xc730
jmp 0x782f4
leaq -0x58(%rbp), %rdi
callq 0xc3e0
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x190, %rsp            # imm = 0x190
popq %rbp
retq
leaq -0x58(%rbp), %rdi
callq 0xc3e0
movq -0x60(%rbp), %rdi
callq 0xcba0
nopw %cs:(%rax,%rax)