#include #include #include #include #include #include #include #include #include #include #include #include struct __attribute__((__packed__))smb_mnt_tcon_info { uint32_t tid; uint64_t session_id; } __packed; #define CIFS_IOC_GET_TCON_INFO 0x800ccf0c int main(int argc, char **argv) { struct smb_mnt_tcon_info mnt_info; int f; if ((f = open(argv[1], O_RDONLY)) < 0) { fprintf(stderr, "Failed to open %s\n", argv[1]); exit(1); } if (ioctl(f, CIFS_IOC_GET_TCON_INFO, &mnt_info) < 0) printf("Error %d returned from ioctl\n", errno); else { printf("ioctl completed. tid 0x%x session id: 0x%lx\n", mnt_info.tid, mnt_info.session_id); } }