Volume Services
[Content Management]


Data Structures

struct  _AlpVolumeSvcsFSinfo
 File System info block, AlpVolumesvcsFSinfo returns a GArray of these. More...

Defines

#define ALP_NOTIFY_EVENT_DEVICE_ADDED   "/alp/volumesvcs/device_added"
 a card has been inserted that is either blank or the file system on it ws not recognized
#define ALP_NOTIFY_EVENT_DEVICE_REMOVED   "/alp/volumesvcs/device_removed"
 a card was removed that did not contain mounted file systems
#define ALP_NOTIFY_EVENT_DISC_SPACE_CRITICAL   "/alp/volumesvcs/disc_space_crtical"
 disc space critical.
#define ALP_NOTIFY_EVENT_DISC_SPACE_LOW   "/alp/volumesvcs/disc_space_low"
 disc space is low.
#define ALP_NOTIFY_EVENT_DISC_SPACE_OK   "/alp/volumesvcs/disc_space_ok"
 disc space ok.
#define ALP_NOTIFY_EVENT_VOLUME_ADDED   "/alp/volumesvcs/volume_added"
 a card has been inserted and the volumes on it mounted
#define ALP_NOTIFY_EVENT_VOLUME_REMOVED   "/alp/volumesvcs/volume_removed"
 a card with mounted volumes has been removed
#define ALP_STATUS_VOLUMESVCS_DEVICE_BUSY   ( ALP_CLASS_VOLUMESVCS | 0x03)
 target device or bindmount could not be unmounted as it is in active use
#define ALP_STATUS_VOLUMESVCS_EBADF   ( ALP_CLASS_VOLUMESVCS | 0x08)
 The file discriptor refers to a file that was opened without write permission.
#define ALP_STATUS_VOLUMESVCS_EFBIG   ( ALP_CLASS_VOLUMESVCS | 0x08)
 The value of offset+ len is greater than the maximum file size.
#define ALP_STATUS_VOLUMESVCS_EINTR   ( ALP_CLASS_VOLUMESVCS | 0x09)
 signal was caught during execution
#define ALP_STATUS_VOLUMESVCS_EINVALUE   ( ALP_CLASS_VOLUMESVCS | 0x07)
 len is zero or offset is < zero.
#define ALP_STATUS_VOLUMESVCS_EIO   ( ALP_CLASS_VOLUMESVCS | 0x0a)
 An I/O error occurred while reading from or writing to a file system.
#define ALP_STATUS_VOLUMESVCS_ENODEV   ( ALP_CLASS_VOLUMESVCS | 0x0b)
 The File Discriptor argument does not refer to a regular file.
#define ALP_STATUS_VOLUMESVCS_ESPIPE   ( ALP_CLASS_VOLUMESVCS | 0x0c)
 The fd argument is associated with a pipe or FIFO.OL.
#define ALP_STATUS_VOLUMESVCS_INVALID_FD   ( ALP_CLASS_VOLUMESVCS | 0x06)
 The file discriptor is invalid.
#define ALP_STATUS_VOLUMESVCS_INVALID_FP   ( ALP_CLASS_VOLUMESVCS | 0x0e)
 Invalid file path, not able to get the real path for the file .
#define ALP_STATUS_VOLUMESVCS_INVALID_MP   ( ALP_CLASS_VOLUMESVCS | 0x0d)
 The mount point does not exist.
#define ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER   ( ALP_CLASS_VOLUMESVCS | 0x01)
 bad input
#define ALP_STATUS_VOLUMESVCS_NO_FREE_SPACE   ( ALP_CLASS_VOLUMESVCS | 0x05)
 Free Space not available on disc.
#define ALP_STATUS_VOLUMESVCS_NOT_FOUND   ( ALP_CLASS_VOLUMESVCS | 0x02)
 target device or volume could not be found
#define ALP_STATUS_VOLUMESVCS_OK   ALP_STATUS_OK
 operation completed sucessfully
#define ALP_STATUS_VOLUMESVCS_PROVIDER_ERROR   ( ALP_CLASS_VOLUMESVCS | 0x04)
 An error occurred while enumerating the volumes.
#define ALP_SYSTEM_SLOTS_DEV_PATH   "/dev_path"
 the /dev/name to match against (may be incomplete /dev/mmcblk matches /dev/mmcblk0...)
#define ALP_SYSTEM_SLOTS_NAME   "/name"
 the name to be used for this slot
#define ALP_SYSTEM_SLOTS_PREFIX   "/dev/slots/"
 the head of the tree for slot names
#define ALP_VOLUMESVCS_FLAGS_BINDMOUNT   0x1
 entry represents a bind mount not necessarily a real device
#define ALP_VOLUMESVCS_FLAGS_HIDDEN   0x4
 entry represents an entry to be hidden from users
#define ALP_VOLUMESVCS_FLAGS_PARTITION   0x2
 entry represents a partition with or witout fs as opposed to an entire disk (disk are only shown if there are no partitions on them).
#define ALP_VOLUMESVCS_FLAGS_READONLY   0x8
 entry represents an read-only partition or disk
#define ALP_VOLUMESVCS_HIDEVOL_PATH   ALP_EXT_SYSPATH_HIDDEN_VOL
 if this exists the volume is not exposed to users

Typedefs

typedef char * AlpNotifyEventDeviceAdded
 notification detail for a device added event
typedef char * AlpNotifyEventdeviceRemoved
 notification detail for a device removed event
typedef char * AlpNotifyEventVolumeAdded
 notification detail for a volume added event
typedef char * AlpNotifyEventVolumeRemoved
 notification detail for a volume removed event
typedef _AlpVolumeSvcsFSinfo AlpVolumeSvcsFSinfo
 File System info block, AlpVolumesvcsFSinfo returns a GArray of these.
typedef enum _AlpVolumeSvcsKind AlpVolumeSvcsKind
 As a member, this is an enum specifying whether a particular volume is internal, external, or ROM. As a parameter to alp_volumesvcs_get_volumes, this tells volumesvcs what set of volumes the caller wants to get back.

Enumerations

enum  _AlpVolumeSvcsKind {
  ALP_VOLUMESVCS_KIND_INTERNAL = 1 << 1, ALP_VOLUMESVCS_KIND_EXTERNAL = 1 << 2, ALP_VOLUMESVCS_KIND_ROM = 1 << 3, ALP_VOLUMESVCS_KIND_TMP = 1 << 4,
  ALP_VOLUMESVCS_KIND_ALL = ~0
}
 As a member, this is an enum specifying whether a particular volume is internal, external, or ROM. As a parameter to alp_volumesvcs_get_volumes, this tells volumesvcs what set of volumes the caller wants to get back. More...

Functions

alp_status_t alp_volumesvcs_bind (const gchar *name, const gchar *path)
 Mount a directory as if it were a file system (bind mounts) This entry will be assgined a udi which may be looked up in fsinfo and explicitly umounted but the entry can not be removed until the volumesvcsd server is restarted.
alp_status_t alp_volumesvcs_check_disk_free_space (guint64 requested_size, gboolean dialog_on_error)
 Check Disc Free Space. The Free space is cheked on the disc if available free space is less than the defined buffer free space then return error and show a attention dialog if required.
alp_status_t alp_volumesvcs_fallocate (int fd, off_t offset, off_t len, const char *file_path)
 Allocate space for file. The purpose of the function is to allocate enough storage so that future writes to the file in the range [offset,offset+len] cannot fail because the storage device has no room.
alp_status_t alp_volumesvcs_fsinfo_array (AlpVolumeSvcsKind kind, GArray **fsinfo_array)
 Get information on all pluggable devices and any mounted file systems on them.
alp_status_t alp_volumesvcs_fsinfo_array_free (GArray *fsinfo_array)
 Free the array of AlpVolumeSvcsFSinfo struct's.
alp_status_t alp_volumesvcs_fsinfo_for_udi (AlpVolumeSvcsFSinfo **fsinfo, const gchar *udi)
 Allocates and returns an AlpVolumeSvcsFSinfo* matching the _udi parameter passed in.
alp_status_t alp_volumesvcs_fsinfo_free (AlpVolumeSvcsFSinfo *fsinfo)
 Frees AlpVolumeSvcsFSinfo* allocated by alp_volumesvcs_fsinfo_for_udi().
alp_status_t alp_volumesvcs_fstypes (GPtrArray **fstypes)
 return a list of filesystem types that may be used as input to alp_volumesvcs_makefs Other formats MAY be supported for mounting a pre-formated volume, but only these may be used to format a volume ON the ALP device.
alp_status_t alp_volumesvcs_makefs (const gchar *device_udi, const gchar *name, const gchar *fstype)
 Initialzie a volume, Create a 1 part partition table and make a msdos file system in it.
alp_status_t alp_volumesvcs_mount (const gchar *device_udi)
 Mount a volume.
alp_status_t alp_volumesvcs_rename_volume (const char *udi, const gchar *name)
 Reanme a volume. The volume name (part of the vfat format) is changed. The volume can be mounted or unmounted when the call is made. If mounted it will be UNmounted as part of the call. The renamed volume is always mounted on return from this call (barrying errors that prevent such).
alp_status_t alp_volumesvcs_umount (const gchar *device_udi)
 UNmount a volume.


Define Documentation

#define ALP_NOTIFY_EVENT_DEVICE_ADDED   "/alp/volumesvcs/device_added"
 

a card has been inserted that is either blank or the file system on it ws not recognized

#define ALP_NOTIFY_EVENT_DEVICE_REMOVED   "/alp/volumesvcs/device_removed"
 

a card was removed that did not contain mounted file systems

#define ALP_NOTIFY_EVENT_DISC_SPACE_CRITICAL   "/alp/volumesvcs/disc_space_crtical"
 

disc space critical.

#define ALP_NOTIFY_EVENT_DISC_SPACE_LOW   "/alp/volumesvcs/disc_space_low"
 

disc space is low.

#define ALP_NOTIFY_EVENT_DISC_SPACE_OK   "/alp/volumesvcs/disc_space_ok"
 

disc space ok.

#define ALP_NOTIFY_EVENT_VOLUME_ADDED   "/alp/volumesvcs/volume_added"
 

a card has been inserted and the volumes on it mounted

Remarks:
Alp Notification events are just strings representing each event type the following notifications are broadcast with ALP_NOTIFY_PRIORITY_NORMAL ALP_NOTIFY_QUEUE_DEFAULT

#define ALP_NOTIFY_EVENT_VOLUME_REMOVED   "/alp/volumesvcs/volume_removed"
 

a card with mounted volumes has been removed

#define ALP_STATUS_VOLUMESVCS_DEVICE_BUSY   ( ALP_CLASS_VOLUMESVCS | 0x03)
 

target device or bindmount could not be unmounted as it is in active use

#define ALP_STATUS_VOLUMESVCS_EBADF   ( ALP_CLASS_VOLUMESVCS | 0x08)
 

The file discriptor refers to a file that was opened without write permission.

#define ALP_STATUS_VOLUMESVCS_EFBIG   ( ALP_CLASS_VOLUMESVCS | 0x08)
 

The value of offset+ len is greater than the maximum file size.

#define ALP_STATUS_VOLUMESVCS_EINTR   ( ALP_CLASS_VOLUMESVCS | 0x09)
 

signal was caught during execution

#define ALP_STATUS_VOLUMESVCS_EINVALUE   ( ALP_CLASS_VOLUMESVCS | 0x07)
 

len is zero or offset is < zero.

#define ALP_STATUS_VOLUMESVCS_EIO   ( ALP_CLASS_VOLUMESVCS | 0x0a)
 

An I/O error occurred while reading from or writing to a file system.

#define ALP_STATUS_VOLUMESVCS_ENODEV   ( ALP_CLASS_VOLUMESVCS | 0x0b)
 

The File Discriptor argument does not refer to a regular file.

#define ALP_STATUS_VOLUMESVCS_ESPIPE   ( ALP_CLASS_VOLUMESVCS | 0x0c)
 

The fd argument is associated with a pipe or FIFO.OL.

#define ALP_STATUS_VOLUMESVCS_INVALID_FD   ( ALP_CLASS_VOLUMESVCS | 0x06)
 

The file discriptor is invalid.

#define ALP_STATUS_VOLUMESVCS_INVALID_FP   ( ALP_CLASS_VOLUMESVCS | 0x0e)
 

Invalid file path, not able to get the real path for the file .

#define ALP_STATUS_VOLUMESVCS_INVALID_MP   ( ALP_CLASS_VOLUMESVCS | 0x0d)
 

The mount point does not exist.

#define ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER   ( ALP_CLASS_VOLUMESVCS | 0x01)
 

bad input

#define ALP_STATUS_VOLUMESVCS_NO_FREE_SPACE   ( ALP_CLASS_VOLUMESVCS | 0x05)
 

Free Space not available on disc.

#define ALP_STATUS_VOLUMESVCS_NOT_FOUND   ( ALP_CLASS_VOLUMESVCS | 0x02)
 

target device or volume could not be found

#define ALP_STATUS_VOLUMESVCS_OK   ALP_STATUS_OK
 

operation completed sucessfully

#define ALP_STATUS_VOLUMESVCS_PROVIDER_ERROR   ( ALP_CLASS_VOLUMESVCS | 0x04)
 

An error occurred while enumerating the volumes.

#define ALP_SYSTEM_SLOTS_DEV_PATH   "/dev_path"
 

the /dev/name to match against (may be incomplete /dev/mmcblk matches /dev/mmcblk0...)

#define ALP_SYSTEM_SLOTS_NAME   "/name"
 

the name to be used for this slot

#define ALP_SYSTEM_SLOTS_PREFIX   "/dev/slots/"
 

the head of the tree for slot names

Remarks:
global settings names, setup by the device vendor to name the media slots on the device e.g. /system/slots/0/name = "Expansion Card" /system/slots/0/hal_key = "info.parent" /system/slots/0/hal_value = "/org/freedesktop/Hal/devices/platform_pxa2xx_mci_mmc_card_rca1" Which would cause all cards with the specifed parent to get a name of "Expansion Card"

#define ALP_VOLUMESVCS_FLAGS_BINDMOUNT   0x1
 

entry represents a bind mount not necessarily a real device

#define ALP_VOLUMESVCS_FLAGS_HIDDEN   0x4
 

entry represents an entry to be hidden from users

#define ALP_VOLUMESVCS_FLAGS_PARTITION   0x2
 

entry represents a partition with or witout fs as opposed to an entire disk (disk are only shown if there are no partitions on them).

#define ALP_VOLUMESVCS_FLAGS_READONLY   0x8
 

entry represents an read-only partition or disk

#define ALP_VOLUMESVCS_HIDEVOL_PATH   ALP_EXT_SYSPATH_HIDDEN_VOL
 

if this exists the volume is not exposed to users


Typedef Documentation

typedef char* AlpNotifyEventDeviceAdded
 

notification detail for a device added event

typedef char* AlpNotifyEventdeviceRemoved
 

notification detail for a device removed event

typedef char* AlpNotifyEventVolumeAdded
 

notification detail for a volume added event

Remarks:
The detail argument for Alp notifications for volume services are simply the character strings that are the UDI for the event in question (found in the udi filed of an AlpVolumesvcsFSinfo struct). These typedefs are just for convienence.

typedef char* AlpNotifyEventVolumeRemoved
 

notification detail for a volume removed event

typedef struct _AlpVolumeSvcsFSinfo AlpVolumeSvcsFSinfo
 

File System info block, AlpVolumesvcsFSinfo returns a GArray of these.

typedef enum _AlpVolumeSvcsKind AlpVolumeSvcsKind
 

As a member, this is an enum specifying whether a particular volume is internal, external, or ROM. As a parameter to alp_volumesvcs_get_volumes, this tells volumesvcs what set of volumes the caller wants to get back.


Enumeration Type Documentation

enum _AlpVolumeSvcsKind
 

As a member, this is an enum specifying whether a particular volume is internal, external, or ROM. As a parameter to alp_volumesvcs_get_volumes, this tells volumesvcs what set of volumes the caller wants to get back.

Enumerator:
ALP_VOLUMESVCS_KIND_INTERNAL  As a parameter, this gets all volumes. As a member, this specifies the volume kind is unknown.
ALP_VOLUMESVCS_KIND_EXTERNAL  The volumes to be returned (or this volume) are internal volumes.
ALP_VOLUMESVCS_KIND_ROM  The volumes to be returned (or this volume) are external volumes.
ALP_VOLUMESVCS_KIND_TMP  The volumes to be returned (or this volume) are ROM volumes.
ALP_VOLUMESVCS_KIND_ALL 


Function Documentation

alp_status_t alp_volumesvcs_bind const gchar *  name,
const gchar *  path
 

Mount a directory as if it were a file system (bind mounts) This entry will be assgined a udi which may be looked up in fsinfo and explicitly umounted but the entry can not be removed until the volumesvcsd server is restarted.

Parameters:
[in] name - the user visible name (label) this device should have, this will be the default mount point under /media
[in] path - the directory to mount on /media/<name>
Returns:
ALP_STATUS_OK if a new fs was successfully written ALP_STATUS_VOLUMESVCS_NOT_FOUND if there is no match for the UDI. ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER if the udi parameter is NULL.or the mount is not sucessful for any reason

alp_status_t alp_volumesvcs_check_disk_free_space guint64  requested_size,
gboolean  dialog_on_error
 

Check Disc Free Space. The Free space is cheked on the disc if available free space is less than the defined buffer free space then return error and show a attention dialog if required.

Parameters:
[in] requested_size - requested size in bytes.
[in] dialog_on_error - if TRUE show dialog if error.
Returns:
ALP_STATUS_OK free space is available to write. ALP_STATUS_VOLUMESVCS_NO_FREE_SPACE if the disc free space is less than defined buffer.

alp_status_t alp_volumesvcs_fallocate int  fd,
off_t  offset,
off_t  len,
const char *  file_path
 

Allocate space for file. The purpose of the function is to allocate enough storage so that future writes to the file in the range [offset,offset+len] cannot fail because the storage device has no room.

Parameters:
[in] fd - file discriptor for the file.
[in] offset. 
[in] len. 
[in] file_path - file path.
Returns:
ALP_STATUS_OK free space allocated. ALP_STATUS_VOLUMESVCS_NO_FREE_SPACE if no disc space is available. ALP_STATUS_VOLUMESVCS_INVALID_FD The file discriptor is invalid. ALP_STATUS_VOLUMESVCS_EINVALUE len is zero or offset is < zero. ALP_STATUS_VOLUMESVCS_EBADF The file discriptor refers to a file that was opened without write permission. ALP_STATUS_VOLUMESVCS_EFBIG The value of offset+ len is greater than the maximum file size ALP_STATUS_VOLUMESVCS_EINTR signal was caught during execution. ALP_STATUS_VOLUMESVCS_EIO An I/O error occurred while reading from or writing to a file system. ALP_STATUS_VOLUMESVCS_ENODEV The File Discriptor argument does not refer to a regular file. ALP_STATUS_VOLUMESVCS_ESPIPE The fd argument is associated with a pipe or FIFO.OL. ALP_STATUS_VOLUMESVCS_ESPIPE_INVALID_MP The mount point does not exist. ALP_STATUS_VOLUMESVCS_INVALID_FP Invalid file path.

alp_status_t alp_volumesvcs_fsinfo_array AlpVolumeSvcsKind  kind,
GArray **  fsinfo_array
 

Get information on all pluggable devices and any mounted file systems on them.

Parameters:
[in] kind - See AlpVolumeSvcsKind for a description of the kinds available. Can be OR'ed together to get more than one type.
[out] fsinfo_array - A pointer to pointer to GArray of fsinfo structs. An array is allocated, which the caller must free using alp_volumesvcs_fsinfo_array_free().
Returns:
ALP_STATUS_OK if data is returned ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER if the fsinfo_array parameter is NULL.
Remarks:
It is up to the caller to free the GArray and the elements (if any) in it, using the alp_volumesvcs_fsinfo_array_free function.
Example of usage:
  GArray *fsinfo_array;
  alp_volumesvcs_fsinfo_array( ALP_VOLUMESVCS_KIND_ALL, &fsinfo_array );
  ...
  alp_volumesvcs_fsinfo_array_free( fsinfo_array );

alp_status_t alp_volumesvcs_fsinfo_array_free GArray *  fsinfo_array  ) 
 

Free the array of AlpVolumeSvcsFSinfo struct's.

Parameters:
[in] fsinfo_array - A pointer to the GArray returned on a alp_volumesvcs_fsinfo_array call. A distinct call is needed here rather than g_array_free due to allowing freeing of the embeded structures not just the array elements and the array itself. Passing in NULL is allowed and is not an error.
Returns:
ALP_STATUS_OK always

alp_status_t alp_volumesvcs_fsinfo_for_udi AlpVolumeSvcsFSinfo **  fsinfo,
const gchar *  udi
 

Allocates and returns an AlpVolumeSvcsFSinfo* matching the _udi parameter passed in.

Parameters:
[out] fsinfo This will be allocated if the return is ALP_STATUS_OK This must be freed with alp_volumesvcs_fsinfo_free().
[in] udi The UDI to match for.
Returns:
ALP_STATUS_OK if the UDI is matched. ALP_STATUS_VOLUMESVCS_NOT_FOUND if there is no match for the UDI. ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER if the udi parameter is NULL.

alp_status_t alp_volumesvcs_fsinfo_free AlpVolumeSvcsFSinfo fsinfo  ) 
 

Frees AlpVolumeSvcsFSinfo* allocated by alp_volumesvcs_fsinfo_for_udi().

Parameters:
[in] fsinfo - The pointer to free or NULL.
Returns:
ALP_STATUS_OK is always returned.

alp_status_t alp_volumesvcs_fstypes GPtrArray **  fstypes  ) 
 

return a list of filesystem types that may be used as input to alp_volumesvcs_makefs Other formats MAY be supported for mounting a pre-formated volume, but only these may be used to format a volume ON the ALP device.

Parameters:
[in] fstypes - address of a pointer to a GPtrArray
Returns:
- ALP_STATUS_OK in all cases
Remarks:
the returned array may be freed wtih g_ptr_array_free( fstypes, TRUE )

alp_status_t alp_volumesvcs_makefs const gchar *  device_udi,
const gchar *  name,
const gchar *  fstype
 

Initialzie a volume, Create a 1 part partition table and make a msdos file system in it.

Parameters:
[in] device_udi - the hal UDI for the parent device (e.g. /dev/sdd) to format.
[in] name - the user visible name (label) this device should have, this will be the default mount point under /media
[in] fstype - (must be amonng the strings returned by alp_volumesvcs_fstypes, typically FAT16 or FAT32
Returns:
ALP_STATUS_OK if it was found and unmounted ALP_STATUS_VOLUMESVCS_NOT_FOUND if there is no match for the UDI. ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER if the udi parameter is NULL.or if the format did not complete sucessfuly. ALP_STATUS_VOLUMESVCS_IN_USE if all invovled volumes can not be unmounted (or are not already so).
Remarks:
Note there is no option to add a partition or have multiple partions, you just get a single partition table and a new fs in that single partition. Multiple partition devices are supported, but they must be formated elsewhere. If a multiple partitioned device is targeted by this call all data on all parttions is destroyed. The newly formated volume is retunred mounted.

alp_status_t alp_volumesvcs_mount const gchar *  device_udi  ) 
 

Mount a volume.

Parameters:
[in] device_udi - the string returned in the device_udi filed of fsinfo that uniquely specifies a devices, the mount point is derived from the HAL info or the name associated with this entry via global settings.
Returns:
ALP_STATUS_OK if the volume is (or WAS ALREADY) mounted. ALP_STATUS_VOLUMESVCS_NOT_FOUND if there is no match for the UDI. ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER if the udi parameter is NULL.
Remarks:
this may generated an ALP_NOTIFY_VOLUME_ADDED notification

alp_status_t alp_volumesvcs_rename_volume const char *  udi,
const gchar *  name
 

Reanme a volume. The volume name (part of the vfat format) is changed. The volume can be mounted or unmounted when the call is made. If mounted it will be UNmounted as part of the call. The renamed volume is always mounted on return from this call (barrying errors that prevent such).

Parameters:
[in] udi - the volume to rename
[in] name - the new user visible name (label) this device should have, this will be the default mount point under /media
Returns:
ALP_STATUS_OK if a new fs was successfully written ALP_STATUS_VOLUMESVCS_NOT_FOUND if there is no match for the UDI. ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER if the udi parameter is NULL. ALP_STATUS_VOLUMESVCS_IN_USE if the volume is mounted and for some reason can not be unmounted

alp_status_t alp_volumesvcs_umount const gchar *  device_udi  ) 
 

UNmount a volume.

Parameters:
[in] device_udi - same as was specified to UNmount
Returns:
ALP_STATUS_OK if the device is now unmounted (by this call or already being so) ALP_STATUS_VOLUMESVCS_NOT_FOUND if there is no match for the UDI. ALP_STATUS_VOLUMESVCS_INVALID_PARAMETER if the udi parameter is NULL.
Remarks:
this may generate an ALP_NOTIFY_VOLUME_REMOVED notification


Generated on Wed Jul 30 07:06:44 2008 by Doxygen 1.4.6 for ALP SDK + Hiker Documentation

Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.