/* * Transparent Cryptographic File System (TCFS) for NetBSD * Author and mantainer: Luigi Catuogno [luicat@tcfs.unisa.it] * * references: http://tcfs.dia.unisa.it * tcfs-bsd@tcfs.unisa.it */ /* * Base utility set v0.1 */ #include #include #include #include #include #include #include #include #include #include "tcfslib.h" char *stat_usage= "usage: tcfstat [-p mount-point | fs-label]"; int stat_main(int argc, char *argv[], char *envp[]) { struct tcfs_status st; int e,es,ok=0; char filesystem[MAXPATHLEN]; if (argc==3 && !strcmp("-p",argv[1])) { strlcpy(filesystem, argv[2], sizeof(filesystem)); ok=1; } if (argc == 2) { if (!(es = tcfs_getfspath(argv[1],filesystem))) { fprintf(stderr,"filesystem label not found!\n"); exit(1); } ok = 1; } if (ok == 0 || argc < 2 || argc > 3) { fprintf(stderr, "%s\n", stat_usage); exit(1); } e = tcfs_getstatus(filesystem, &st); if (e == -1) { fprintf(stderr,"filesystem %s not mounted\n",filesystem); exit(1); } printf("Status: %d; user keys: %d, group keys: %d\n",st.status, st.n_ukey, st.n_gkey); printf("TCFS version: %d, Cipher: %s, keysize: %d, cipher version: %d\n",st.tcfs_version, st.cipher_desc, st.cipher_keysize, st.cipher_version); exit(0); }