39 lines
		
	
	
		
			865 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			865 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* Part of libhgfs - (c) 2009, D.C. van Moolenbroek */
 | 
						|
 | 
						|
#include "inc.h"
 | 
						|
 | 
						|
/*===========================================================================*
 | 
						|
 *				hgfs_queryvol				     *
 | 
						|
 *===========================================================================*/
 | 
						|
int hgfs_queryvol(path, free, total)
 | 
						|
char *path;
 | 
						|
u64_t *free;
 | 
						|
u64_t *total;
 | 
						|
{
 | 
						|
/* Retrieve information about available and total volume space associated with
 | 
						|
 * a given path.
 | 
						|
 */
 | 
						|
  u32_t lo, hi;
 | 
						|
  int r;
 | 
						|
 | 
						|
  RPC_REQUEST(HGFS_REQ_QUERYVOL);
 | 
						|
 | 
						|
  path_put(path);
 | 
						|
 | 
						|
  /* It appears that this call always fails with EACCES ("permission denied")
 | 
						|
   * on read-only folders. As far as I can tell, this is a VMware bug.
 | 
						|
   */
 | 
						|
  if ((r = rpc_query()) != OK)
 | 
						|
	return r;
 | 
						|
 | 
						|
  lo = RPC_NEXT32;
 | 
						|
  hi = RPC_NEXT32;
 | 
						|
  *free = make64(lo, hi);
 | 
						|
 | 
						|
  lo = RPC_NEXT32;
 | 
						|
  hi = RPC_NEXT32;
 | 
						|
  *total = make64(lo, hi);
 | 
						|
 | 
						|
  return OK;
 | 
						|
}
 |