Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vasum-client.cpp File Reference

This file contains the public API for Vasum Client. More...

#include "config.hpp"
#include "vasum-client.h"
#include "vasum-client-impl.hpp"
#include <cassert>

Macros

#define API   __attribute__((visibility("default")))
 

Functions

API VsmStatus vsm_lock_queue (VsmClient client)
 Lock the command queue exclusively. More...
 
API VsmStatus vsm_unlock_queue (VsmClient client)
 Unlock the command queue. More...
 
API VsmStatus vsm_get_poll_fd (VsmClient client, int *fd)
 Get file descriptor associated with event dispatcher of zone client. More...
 
API VsmStatus vsm_enter_eventloop (VsmClient client, int flags, int timeout)
 Wait for an I/O event on a vsm client. More...
 
API VsmStatus vsm_set_dispatcher_type (VsmClient client, VsmDispacherType dispacher)
 Set dispatching method. More...
 
API VsmStatus vsm_get_dispatcher_type (VsmClient client, VsmDispacherType *dispacher)
 Get dispatching method. More...
 
API VsmClient vsm_client_create ()
 Create a new vasum-server's client. More...
 
API VsmStatus vsm_connect (VsmClient client)
 Connect client to the vasum-server. More...
 
API VsmStatus vsm_connect_custom (VsmClient client, const char *address)
 Connect client to the vasum-server via custom address. More...
 
API VsmStatus vsm_disconnect (VsmClient client)
 Disconnect client from vasum-server. More...
 
API void vsm_array_string_free (VsmArrayString astring)
 Release VsmArrayString. More...
 
API void vsm_string_free (VsmString string)
 Release VsmString. More...
 
API VsmString vsm_zone_get_id (VsmZone zone)
 Get zone id (offline) More...
 
API int vsm_zone_get_terminal (VsmZone zone)
 Get zone terminal (offline) More...
 
API VsmZoneState vsm_zone_get_state (VsmZone zone)
 Get zone state (offline) More...
 
API VsmString vsm_zone_get_rootfs (VsmZone zone)
 Get zone rootfs path (offline) More...
 
API void vsm_zone_free (VsmZone zone)
 Release VsmZone. More...
 
API VsmString vsm_netdev_get_name (VsmNetdev netdev)
 Get netdev name (offline) More...
 
API VsmNetdevType vsm_netdev_get_type (VsmNetdev netdev)
 Get netdev type (offline) More...
 
API void vsm_netdev_free (VsmNetdev netdev)
 Release VsmNetdev. More...
 
API void vsm_client_free (VsmClient client)
 Release client resources. More...
 
API const char * vsm_get_status_message (VsmClient client)
 Get status message of the last vasum-server communication. More...
 
API VsmStatus vsm_get_status (VsmClient client)
 Get status code of last vasum-server communication. More...
 
API VsmStatus vsm_get_zone_dbuses (VsmClient client, VsmArrayString *keys, VsmArrayString *values)
 Get dbus address of each zone. More...
 
API VsmStatus vsm_get_zone_ids (VsmClient client, VsmArrayString *array)
 Get zones name. More...
 
API VsmStatus vsm_get_active_zone_id (VsmClient client, VsmString *id)
 Get active (foreground) zone name. More...
 
API VsmStatus vsm_lookup_zone_by_pid (VsmClient client, int pid, VsmString *id)
 Get zone name of process with given pid. More...
 
API VsmStatus vsm_lookup_zone_by_id (VsmClient client, const char *id, VsmZone *zone)
 Get zone informations of zone with given id. More...
 
API VsmStatus vsm_lookup_zone_by_terminal_id (VsmClient client, int terminal, VsmString *id)
 Get zone name with given terminal. More...
 
API VsmStatus vsm_set_active_zone (VsmClient client, const char *id)
 Set active (foreground) zone. More...
 
API VsmStatus vsm_create_zone (VsmClient client, const char *id, const char *tname)
 Create and add zone. More...
 
API VsmStatus vsm_destroy_zone (VsmClient client, const char *id, int)
 Remove zone. More...
 
API VsmStatus vsm_shutdown_zone (VsmClient client, const char *id)
 Shutdown zone. More...
 
API VsmStatus vsm_start_zone (VsmClient client, const char *id)
 Start zone. More...
 
API VsmStatus vsm_lock_zone (VsmClient client, const char *id)
 Lock zone. More...
 
API VsmStatus vsm_unlock_zone (VsmClient client, const char *id)
 Unlock zone. More...
 
API VsmStatus vsm_add_state_callback (VsmClient client, VsmZoneDbusStateCallback zoneDbusStateCallback, void *data, VsmSubscriptionId *subscriptionId)
 Register dbus state change callback function. More...
 
API VsmStatus vsm_del_state_callback (VsmClient client, VsmSubscriptionId subscriptionId)
 Unregister dbus state change callback function. More...
 
API VsmStatus vsm_grant_device (VsmClient client, const char *id, const char *device, uint32_t flags)
 Grant access to device. More...
 
API VsmStatus vsm_revoke_device (VsmClient client, const char *id, const char *device)
 Revoke access to device. More...
 
API VsmStatus vsm_zone_get_netdevs (VsmClient client, const char *zone, VsmArrayString *netdevIds)
 Get array of netdev from given zone. More...
 
API VsmStatus vsm_netdev_get_ip_addr (VsmClient client, const char *zone, const char *netdevId, VsmAddrList *addrs)
 Get ipv4 address for given netdevId. More...
 
API VsmStatus vsm_netdev_get_ipv4_addr (VsmClient client, const char *zone, const char *netdevId, struct in_addr *addr)
 Get ipv4 address for given netdevId. More...
 
API VsmStatus vsm_netdev_get_ipv6_addr (VsmClient client, const char *zone, const char *netdevId, struct in6_addr *addr)
 Get ipv6 address for given netdevId. More...
 
API VsmStatus vsm_netdev_add_ipv4_addr (VsmClient client, const char *zone, const char *netdevId, struct in_addr *addr, int prefix)
 Add ipv4 address for given netdevId. More...
 
API VsmStatus vsm_netdev_add_ipv6_addr (VsmClient client, const char *zone, const char *netdevId, struct in6_addr *addr, int prefix)
 Add ipv6 address for given netdevId. More...
 
API VsmStatus vsm_netdev_del_ipv4_addr (VsmClient client, const char *zone, const char *netdevId, struct in_addr *addr, int prefix)
 Remove ipv4 address from netdev. More...
 
API VsmStatus vsm_netdev_del_ipv6_addr (VsmClient client, const char *zone, const char *netdevId, struct in6_addr *addr, int prefix)
 Remove ipv6 address from netdev. More...
 
API VsmStatus vsm_netdev_up (VsmClient client, const char *zone, const char *netdevId)
 Turn up a network device in the zone. More...
 
API VsmStatus vsm_netdev_down (VsmClient client, const char *zone, const char *netdevId)
 Turn down a network device in the zone. More...
 
API VsmStatus vsm_create_netdev_veth (VsmClient client, const char *zone, const char *zoneDev, const char *hostDev)
 Create veth netdev in zone. More...
 
API VsmStatus vsm_create_netdev_macvlan (VsmClient client, const char *zone, const char *zoneDev, const char *hostDev, enum macvlan_mode mode)
 Create macvlan in zone. More...
 
API VsmStatus vsm_create_netdev_phys (VsmClient client, const char *zone, const char *devId)
 Create/move phys netdev in/to zone. More...
 
API VsmStatus vsm_lookup_netdev_by_name (VsmClient client, const char *zone, const char *netdevId, VsmNetdev *netdev)
 Get netdev informations. More...
 
API VsmStatus vsm_destroy_netdev (VsmClient client, const char *zone, const char *devId)
 Remove netdev from zone. More...
 
API VsmStatus vsm_declare_file (VsmClient client, const char *zone, VsmFileType type, const char *path, int32_t flags, mode_t mode)
 Create file, directory or pipe in zone. More...
 
API VsmStatus vsm_declare_mount (VsmClient client, const char *source, const char *zone, const char *target, const char *type, uint64_t flags, const char *data)
 Create mount point in zone. More...
 
API VsmStatus vsm_declare_link (VsmClient client, const char *source, const char *zone, const char *target)
 Create link in zone. More...
 
API VsmStatus vsm_list_declarations (VsmClient client, const char *zone, VsmArrayString *declarations)
 Get all declarations. More...
 
API VsmStatus vsm_remove_declaration (VsmClient client, const char *zone, VsmString declaration)
 Remove declaration. More...
 
API VsmStatus vsm_clean_up_zones_root (VsmClient client)
 Clean up zones root directory. More...
 
API unsigned int vsm_addrlist_size (VsmAddrList addrs)
 Retrieve array size. More...
 
API int vsm_addrlist_get_type (VsmAddrList addrs, unsigned int i)
 Get address type for i'th entry. More...
 
API const void * vsm_addrlist_get_addr (VsmAddrList addrs, unsigned int i)
 Get pointer to in_addr property for i'th entry see inet_ntop man pages. More...
 
API unsigned int vsm_addrlist_get_prefix (VsmAddrList addrs, unsigned int i)
 Get address prefix for i'th entry. More...
 
API void vsm_addrlist_free (VsmAddrList addrs)
 Release VsmAddrList. More...
 

Detailed Description

This file contains the public API for Vasum Client.

Author
Mateusz Malicki (m.mal.nosp@m.icki.nosp@m.2@sam.nosp@m.sung.nosp@m..com)

Macro Definition Documentation

#define API   __attribute__((visibility("default")))