Changeset 4659 for trunk/Nebulous/nebclient
- Timestamp:
- Jul 28, 2005, 4:30:42 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/Nebulous/nebclient/src/nebclient.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous/nebclient/src/nebclient.h
r4657 r4659 4 4 * Copyright (C) 2005 Joshua Hoblitt 5 5 * 6 * $Id: nebclient.h,v 1.2 5 2005-07-29 01:49:30jhoblitt Exp $6 * $Id: nebclient.h,v 1.26 2005-07-29 02:30:42 jhoblitt Exp $ 7 7 */ 8 8 … … 15 15 extern "C" { 16 16 #endif 17 18 /// @addtogroup nebclient 19 /// @{ 17 20 18 21 typedef enum { NEB_READ, NEB_WRITE } nebRW; … … 41 44 } nebObjectInstances; 42 45 43 nebServer *nebServerAlloc(const char *endpoint); 44 45 void nebServerCleanup(nebServer *server); 46 47 int nebCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI); 48 49 bool nebReplicate(nebServer *server, const char *key, const char *volume, char **URI); 50 51 bool nebCull(nebServer *server, const char *key); 52 53 bool nebLock(nebServer *server, const char *key, nebRW flag); 54 55 bool nebUnlock(nebServer *server, const char *key, nebRW flag); 56 57 nebObjectInstances *nebFindInstances(nebServer *server, const char *key, const char *volume); 58 59 void nebObjectInstancesFree(nebObjectInstances *locations); 60 61 char *nebFind(nebServer *server, const char *key); 62 63 int nebOpen(nebServer *server, const char *key, nebRW flag); 64 65 bool nebDelete(nebServer *server, const char *key); 66 67 bool nebCopy(nebServer *server, const char *key, const char *newKey); 68 69 bool nebMove(nebServer *server, const char *key, const char *newKey); 70 71 bool nebDeleteInstance(nebServer *server, const char *URI); 72 73 nebObjectStat *nebStat(nebServer *server, const char *key); 74 75 char *nebErr(nebServer *server); 76 46 /** Allocates a nebServer object 47 * 48 * Structure used for communicating with a Nebulous server. If endpoint is 49 * NULL then the default value of "http://localhost:80/nebulous" is used. 50 * 51 * @return A nebServer object or NULL on failure. 52 */ 53 54 nebServer *nebServerAlloc( 55 const char *endpoint ///< URL of server 56 ); 57 58 /** Deallocates a nebServer object 59 */ 60 61 void nebServerCleanup( 62 nebServer *server ///< nebServer object 63 ); 64 65 /** Creates and opens new storage object 66 * 67 * @return A filehandle on success or a negative value on failure. 68 */ 69 70 int nebCreate( 71 nebServer *server, ///< nebServer object 72 const char *key, ///< storage object ID 73 unsigned int class, ///< storage object storage class 74 const char *volume, ///< preferred storage location of initial instance 75 const char *comment, ///< storage object comment 76 char **URI ///< URL of initial instance, can be NULL 77 ); 78 79 /** Adds an instance to a storage object 80 * 81 * @return true on success 82 */ 83 84 bool nebReplicate( 85 nebServer *server, ///< nebServer object 86 const char *key, ///< storage object ID 87 const char *volume, ///< preferred storage location of new instance 88 char **URI ///< URL of new instance, can be NULL 89 ); 90 91 /** Removes an instance from a storage object 92 * 93 * This function can not remove the last instance of a storage object. 94 * 95 * @return true on success 96 */ 97 98 bool nebCull( 99 nebServer *server, ///< nebServer object 100 const char *key ///< storage object ID 101 ); 102 103 /** Trys to acquire a lock on a storage object 104 * 105 * This function times out after a default interval of 10s (compile time 106 * configurable). 107 * 108 * @return true on success 109 */ 110 bool nebLock( 111 nebServer *server, ///< nebServer object 112 const char *key, ///< storage object ID 113 nebRW flag ///< read only or write lock 114 ); 115 116 /** Trys to release a lock on a storage object 117 * 118 * @return true on success 119 */ 120 bool nebUnlock( 121 nebServer *server, ///< nebServer object 122 const char *key, ///< storage object ID 123 nebRW flag ///< read only or write lock 124 ); 125 126 /** Lists all instances of a storage object 127 * 128 * @return A nebObjectInstances object or NULL on failure. 129 */ 130 131 nebObjectInstances *nebFindInstances( 132 nebServer *server, ///< nebServer object 133 const char *key, ///< storage object ID 134 const char *volume ///< restrict search to this storage volume (non-working) 135 ); 136 137 /** Deallocates a nebObjectInstances object 138 */ 139 140 void nebObjectInstancesFree( 141 nebObjectInstances *locations ///< nebObjectInstances object to free 142 ); 143 144 /** Find any instance of a storage object 145 * 146 * @return A string of the files storage path (not a URL) or NULL on failure. 147 */ 148 149 char *nebFind( 150 nebServer *server, ///< nebServer object 151 const char *key ///< storage object ID 152 ); 153 154 /** Open a storage object for read or write 155 * 156 * @return A filehandle on success or a negative value on failure. 157 */ 158 159 int nebOpen( 160 nebServer *server, ///< nebServer object 161 const char *key, ///< storage object ID 162 nebRW flag ///< read only or write lock 163 ); 164 165 /** Delete a storage object and all of it's instances 166 * 167 * @return true on success 168 */ 169 170 bool nebDelete( 171 nebServer *server, ///< nebServer object 172 const char *key ///< storage object ID 173 ); 174 175 /** Copy a storage object 176 * 177 * The new storage object will be created with only one instance. 178 * 179 * @return true on success 180 */ 181 182 bool nebCopy( 183 nebServer *server, ///< nebServer object 184 const char *key, ///< storage object ID 185 const char *newKey ///< new storage object ID 186 ); 187 188 /** Rename a storage object 189 * 190 * Currently this operation will remove all but one instance of the storage 191 * object and may change it's storage location. 192 */ 193 bool nebMove( 194 nebServer *server, ///< nebServer object 195 const char *key, ///< storage object ID 196 const char *newKey ///< new storage object ID 197 ); 198 199 /** Remove a storage object instance 200 * 201 * Removing the last instance of a storage object with destroy the storage 202 * object as well. 203 * 204 * @return true on success 205 */ 206 207 bool nebDeleteInstance( 208 nebServer *server, ///< nebServer object 209 const char *URI ///< URL of instance to remove 210 ); 211 212 /** View the properties of a storage object 213 * 214 * @return A nebObjectStat object or NULL on failure. 215 */ 216 217 nebObjectStat *nebStat( 218 nebServer *server, ///< nebServer object 219 const char *key /// storage object ID 220 ); 221 222 /** Returns the error message from the last nebclient function that failed. 223 * 224 * This function may not be called unless an error has occurred. The string 225 * return by this function does not need to be freed but the value will change 226 * at the next nebclient function failure. 227 * 228 * @return A string 229 */ 230 231 char *nebErr( 232 nebServer *server ///< nebServer object 233 ); 234 235 /** Free nebclient allocated memory 236 */ 77 237 void nebFree(void *ptr); 238 239 /// @} 78 240 79 241 #ifdef __cplusplus
Note:
See TracChangeset
for help on using the changeset viewer.
