struct ViceIoctl    a_params; char               *last; char               *path_bkp; int			error;
char *res; int error = internal_mp (path, VIOC_AFS_STAT_MT_PT, &res);
void afs_lsmount (char *path){    struct ViceIoctl    a_params;    char               *last;    char               *path_bkp;    int			error;    path_bkp = strdup (path);    if (path_bkp == NULL) {	printf ("fs: Out of memory\n");	return;    }    a_params.out = malloc (MAXSIZE);    if (a_params.out == NULL) {	printf ("fs: Out of memory\n");	free (path_bkp);    }    /* If path contains more than the filename alone - split it */    last = strrchr (path_bkp, '/');    if (last) {	*last = '\0';	a_params.in = last + 1;    }    else	a_params.in = path;    a_params.in_size = strlen (a_params.in) + 1;    a_params.out_size = MAXSIZE;    error = k_pioctl (last ? path_bkp : "." ,		      VIOC_AFS_STAT_MT_PT, &a_params, 0);    if ((error == -1) && (errno != EINVAL)) {	fserr(PROGNAME, errno, path);	free (a_params.out);	free (path_bkp);	return;    } else if ((error == -1) && (errno == EINVAL)) {	printf ("'%s' is not a mount point.\n", path);	free (a_params.out);	free (path_bkp);	return;	    }    printf ("'%s' is a mount point for volume '%s'\n", path, a_params.out);    free (a_params.out);    free (path_bkp);}