Changeset 903bac0a in mainline for uspace/lib/c/include
- Timestamp:
- 2011-08-19T09:00:38Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e2ab36f1
- Parents:
- d894fbd (diff), 42a619b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/lib/c/include
- Files:
-
- 5 edited
- 2 moved
-
devman.h (modified) (3 diffs)
-
ipc/devman.h (modified) (3 diffs)
-
ipc/loc.h (moved) (moved from uspace/lib/c/include/ipc/devmap.h ) (2 diffs)
-
ipc/services.h (modified) (1 diff)
-
loc.h (moved) (moved from uspace/lib/c/include/devmap.h ) (1 diff)
-
sys/stat.h (modified) (2 diffs)
-
vfs/vfs.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/devman.h
rd894fbd r903bac0a 38 38 39 39 #include <ipc/devman.h> 40 #include <ipc/loc.h> 40 41 #include <async.h> 41 42 #include <bool.h> … … 48 49 extern int devman_add_function(const char *, fun_type_t, match_id_list_t *, 49 50 devman_handle_t, devman_handle_t *); 51 extern int devman_remove_function(devman_handle_t); 50 52 51 53 extern async_sess_t *devman_device_connect(exch_mgmt_t, devman_handle_t, … … 56 58 extern int devman_device_get_handle(const char *, devman_handle_t *, 57 59 unsigned int); 58 extern int devman_device_get_handle_by_class(const char *, const char *,59 devman_handle_t *, unsigned int);60 60 extern int devman_get_device_path(devman_handle_t, char *, size_t); 61 61 62 extern int devman_add_device_to_class(devman_handle_t, const char *); 62 extern int devman_add_device_to_category(devman_handle_t, const char *); 63 extern int devman_fun_sid_to_handle(service_id_t, devman_handle_t *); 63 64 64 65 #endif -
uspace/lib/c/include/ipc/devman.h
rd894fbd r903bac0a 130 130 DEVMAN_CLIENT, 131 131 DEVMAN_CONNECT_TO_DEVICE, 132 DEVMAN_CONNECT_FROM_ DEVMAP,132 DEVMAN_CONNECT_FROM_LOC, 133 133 DEVMAN_CONNECT_TO_PARENTS_DEVICE 134 134 } devman_interface_t; … … 138 138 DEVMAN_ADD_FUNCTION, 139 139 DEVMAN_ADD_MATCH_ID, 140 DEVMAN_ADD_DEVICE_TO_C LASS141 140 DEVMAN_ADD_DEVICE_TO_CATEGORY, 141 DEVMAN_REMOVE_FUNCTION 142 142 } driver_to_devman_t; 143 143 … … 149 149 typedef enum { 150 150 DEVMAN_DEVICE_GET_HANDLE = IPC_FIRST_USER_METHOD, 151 DEVMAN_DEVICE_GET_ HANDLE_BY_CLASS,152 DEVMAN_ DEVICE_GET_DEVICE_PATH151 DEVMAN_DEVICE_GET_DEVICE_PATH, 152 DEVMAN_FUN_SID_TO_HANDLE 153 153 } client_to_devman_t; 154 154 -
uspace/lib/c/include/ipc/loc.h
rd894fbd r903bac0a 1 1 /* 2 2 * Copyright (c) 2007 Josef Cejka 3 * Copyright (c) 2011 Jiri Svoboda 3 4 * All rights reserved. 4 5 * … … 27 28 */ 28 29 29 /** @addtogroup devmap30 /** @addtogroup loc 30 31 * @{ 31 32 */ 32 33 33 #ifndef LIBC_IPC_ DEVMAP_H_34 #define LIBC_IPC_ DEVMAP_H_34 #ifndef LIBC_IPC_LOC_H_ 35 #define LIBC_IPC_LOC_H_ 35 36 36 37 #include <ipc/common.h> 37 38 38 #define DEVMAP_NAME_MAXLEN 25539 #define LOC_NAME_MAXLEN 255 39 40 40 typedef sysarg_t devmap_handle_t; 41 typedef sysarg_t service_id_t; 42 typedef sysarg_t category_id_t; 41 43 42 44 typedef enum { 43 DEV_HANDLE_NONE,44 DEV_HANDLE_NAMESPACE,45 DEV_HANDLE_DEVICE46 } devmap_handle_type_t;45 LOC_OBJECT_NONE, 46 LOC_OBJECT_NAMESPACE, 47 LOC_OBJECT_SERVICE 48 } loc_object_type_t; 47 49 48 50 typedef enum { 49 DEVMAP_DRIVER_REGISTER = IPC_FIRST_USER_METHOD, 50 DEVMAP_DRIVER_UNREGISTER, 51 DEVMAP_DEVICE_REGISTER, 52 DEVMAP_DEVICE_UNREGISTER, 53 DEVMAP_DEVICE_GET_HANDLE, 54 DEVMAP_NAMESPACE_GET_HANDLE, 55 DEVMAP_HANDLE_PROBE, 56 DEVMAP_NULL_CREATE, 57 DEVMAP_NULL_DESTROY, 58 DEVMAP_GET_NAMESPACE_COUNT, 59 DEVMAP_GET_DEVICE_COUNT, 60 DEVMAP_GET_NAMESPACES, 61 DEVMAP_GET_DEVICES 62 } devmap_request_t; 51 LOC_SERVER_REGISTER = IPC_FIRST_USER_METHOD, 52 LOC_SERVER_UNREGISTER, 53 LOC_SERVICE_ADD_TO_CAT, 54 LOC_SERVICE_REGISTER, 55 LOC_SERVICE_UNREGISTER, 56 LOC_SERVICE_GET_ID, 57 LOC_SERVICE_GET_NAME, 58 LOC_NAMESPACE_GET_ID, 59 LOC_CALLBACK_CREATE, 60 LOC_CATEGORY_GET_ID, 61 LOC_CATEGORY_GET_NAME, 62 LOC_CATEGORY_GET_SVCS, 63 LOC_ID_PROBE, 64 LOC_NULL_CREATE, 65 LOC_NULL_DESTROY, 66 LOC_GET_NAMESPACE_COUNT, 67 LOC_GET_SERVICE_COUNT, 68 LOC_GET_CATEGORIES, 69 LOC_GET_NAMESPACES, 70 LOC_GET_SERVICES 71 } loc_request_t; 63 72 64 /** Interface provided by devmap. 73 typedef enum { 74 LOC_EVENT_CAT_CHANGE = IPC_FIRST_USER_METHOD 75 } loc_event_t; 76 77 /** Ports provided by location service. 65 78 * 66 * Every process that connects to devmapmust ask one of following67 * interfacesotherwise connection will be refused.79 * Every process that connects to loc must ask one of following 80 * ports, otherwise connection will be refused. 68 81 * 69 82 */ 70 83 typedef enum { 71 /** Connect as device driver*/72 DEVMAP_DRIVER = 1,73 /** Connect as client */74 DEVMAP_CLIENT,84 /** Service supplier (server) port */ 85 LOC_PORT_SUPPLIER = 1, 86 /** Service consumer (client) port */ 87 LOC_PORT_CONSUMER, 75 88 /** Create new connection to instance of device that 76 89 is specified by second argument of call. */ 77 DEVMAP_CONNECT_TO_DEVICE78 } devmap_interface_t;90 LOC_CONNECT_TO_SERVICE 91 } loc_interface_t; 79 92 80 93 typedef struct { 81 devmap_handle_t handle;82 char name[ DEVMAP_NAME_MAXLEN + 1];83 } dev_desc_t;94 service_id_t id; 95 char name[LOC_NAME_MAXLEN + 1]; 96 } loc_sdesc_t; 84 97 85 98 #endif -
uspace/lib/c/include/ipc/services.h
rd894fbd r903bac0a 45 45 SERVICE_VIDEO = FOURCC('v', 'i', 'd', ' '), 46 46 SERVICE_VFS = FOURCC('v', 'f', 's', ' '), 47 SERVICE_ DEVMAP = FOURCC('d', 'e', 'v', 'p'),47 SERVICE_LOC = FOURCC('l', 'o', 'c', ' '), 48 48 SERVICE_DEVMAN = FOURCC('d', 'e', 'v', 'n'), 49 49 SERVICE_IRC = FOURCC('i', 'r', 'c', ' '), -
uspace/lib/c/include/loc.h
rd894fbd r903bac0a 33 33 */ 34 34 35 #ifndef LIBC_ DEVMAP_H_36 #define LIBC_ DEVMAP_H_35 #ifndef LIBC_LOC_H_ 36 #define LIBC_LOC_H_ 37 37 38 #include <ipc/ devmap.h>38 #include <ipc/loc.h> 39 39 #include <async.h> 40 40 #include <bool.h> 41 41 42 extern async_exch_t *devmap_exchange_begin_blocking(devmap_interface_t); 43 extern async_exch_t *devmap_exchange_begin(devmap_interface_t); 44 extern void devmap_exchange_end(async_exch_t *); 42 typedef void (*loc_cat_change_cb_t)(void); 45 43 46 extern int devmap_driver_register(const char *, async_client_conn_t); 47 extern int devmap_device_register(const char *, devmap_handle_t *); 48 extern int devmap_device_register_with_iface(const char *, devmap_handle_t *, 44 extern async_exch_t *loc_exchange_begin_blocking(loc_interface_t); 45 extern async_exch_t *loc_exchange_begin(loc_interface_t); 46 extern void loc_exchange_end(async_exch_t *); 47 48 extern int loc_server_register(const char *, async_client_conn_t); 49 extern int loc_service_register(const char *, service_id_t *); 50 extern int loc_service_register_with_iface(const char *, service_id_t *, 49 51 sysarg_t); 52 extern int loc_service_unregister(service_id_t); 53 extern int loc_service_add_to_cat(service_id_t, category_id_t); 50 54 51 extern int devmap_device_get_handle(const char *, devmap_handle_t *,55 extern int loc_service_get_id(const char *, service_id_t *, 52 56 unsigned int); 53 extern int devmap_namespace_get_handle(const char *, devmap_handle_t *, 57 extern int loc_service_get_name(service_id_t, char **); 58 extern int loc_namespace_get_id(const char *, service_id_t *, 54 59 unsigned int); 55 extern devmap_handle_type_t devmap_handle_probe(devmap_handle_t); 60 extern int loc_category_get_id(const char *, category_id_t *, 61 unsigned int); 62 extern int loc_category_get_name(category_id_t, char **); 63 extern int loc_category_get_svcs(category_id_t, category_id_t **, size_t *); 64 extern loc_object_type_t loc_id_probe(service_id_t); 56 65 57 extern async_sess_t * devmap_device_connect(exch_mgmt_t, devmap_handle_t,66 extern async_sess_t *loc_service_connect(exch_mgmt_t, service_id_t, 58 67 unsigned int); 59 68 60 extern int devmap_null_create(void);61 extern void devmap_null_destroy(int);69 extern int loc_null_create(void); 70 extern void loc_null_destroy(int); 62 71 63 extern size_t devmap_count_namespaces(void);64 extern size_t devmap_count_devices(devmap_handle_t);72 extern size_t loc_count_namespaces(void); 73 extern size_t loc_count_services(service_id_t); 65 74 66 extern size_t devmap_get_namespaces(dev_desc_t **); 67 extern size_t devmap_get_devices(devmap_handle_t, dev_desc_t **); 75 extern size_t loc_get_namespaces(loc_sdesc_t **); 76 extern size_t loc_get_services(service_id_t, loc_sdesc_t **); 77 extern int loc_get_categories(category_id_t **, size_t *); 78 extern int loc_register_cat_change_cb(loc_cat_change_cb_t); 79 68 80 69 81 #endif -
uspace/lib/c/include/sys/stat.h
rd894fbd r903bac0a 39 39 #include <bool.h> 40 40 #include <ipc/vfs.h> 41 #include <ipc/ devmap.h>41 #include <ipc/loc.h> 42 42 43 43 struct stat { 44 44 fs_handle_t fs_handle; 45 devmap_handle_t devmap_handle;45 service_id_t service_id; 46 46 fs_index_t index; 47 47 unsigned int lnkcnt; … … 49 49 bool is_directory; 50 50 aoff64_t size; 51 devmap_handle_t device;51 service_id_t service; 52 52 }; 53 53 -
uspace/lib/c/include/vfs/vfs.h
rd894fbd r903bac0a 38 38 #include <sys/types.h> 39 39 #include <ipc/vfs.h> 40 #include <ipc/ devmap.h>40 #include <ipc/loc.h> 41 41 #include <stdio.h> 42 42 #include <async.h>
Note:
See TracChangeset
for help on using the changeset viewer.
