Main Page Alphabetical List Compound List File List Compound Members File Members
adaptor.c File Reference#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <GATCPI.h>
Include dependency graph for filestream/adaptor.c:
Go to the source code of this file.
|
Compounds |
| struct | GATFileStreamInstance_Data |
Defines |
| #define | __countof(x) (sizeof(x)/sizeof(x[0])) |
| #define | METRIC_FILESTREAM_READ 0 |
| #define | METRIC_FILESTREAM_WRITE 1 |
| #define | METRIC_FILESTREAM_SEEK 2 |
| #define | METRIC_FILESTREAM_CLOSE 3 |
Typedefs |
| typedef GATFileStreamInstance_Data | GATFileStreamInstance_Data |
Functions |
| void | filestream_adaptor_FileStreamCPI_Destroy (void *data) |
| | filestream_adaptor_FileStreamCPI_Destroy Destroy the adaptor-provided data object on GATFileStreamCPI destruction.
|
| GATResult | filestream_adaptor_FileStreamCPI_CreateInstance (void *adaptor_data, GATFileStreamCPI_Instance *data) |
| | filestream_adaptor_FileStreamCPI_CreateInstance Create a new CPI object instance.
|
| void | filestream_adaptor_FileStreamCPI_DestroyInstance (void *adaptor_data, GATFileStreamCPI_Instance *data) |
| | filestream_adaptor_FileStreamCPI_DestroyInstance Destroy a CPI object instance.
|
| GATResult | filestream_adaptor_FileStreamCPI_CloneInstance (void *adaptor_data, GATFileStreamCPI_Instance const *data, GATFileStreamCPI_Instance *new_data) |
| | filestream_adaptor_FileStreamCPI_CloneInstance Clone a CPI object instance.
|
| GATResult | filestream_adaptor_FileStreamCPI_EqualsInstance (void *adaptor_data, GATFileStreamCPI_Instance const *lhs, GATFileStreamCPI_Instance const *rhs, GATBool *isequal) |
| | filestream_adaptor_FileStreamCPI_EqualsInstance Clone a CPI object instance.
|
| GATResult | filestream_adaptor_FileStreamCPI_Read (void *data, GATFileStreamCPI_Instance const *instance_data, void *buffer, GATuint32 size, GATuint32 *readBytes) |
| | filestream_adaptor_FileStreamCPI_Read Reads data from a FileStream.
|
| GATResult | filestream_adaptor_FileStreamCPI_Write (void *data, GATFileStreamCPI_Instance const *instance_data, void const *buffer, GATuint32 size, GATuint32 *writtenBytes) |
| | filestream_adaptor_FileStreamCPI_Write Writes data to a FileStream.
|
| GATResult | filestream_adaptor_FileStreamCPI_Seek (void *data, GATFileStreamCPI_Instance const *instance_data, GATOrigin origin, GATint32 offset, GATuint32 *new_position) |
| | filestream_adaptor_FileStreamCPI_Seek Seeks on a FileStream.
|
| GATResult | filestream_adaptor_FileStreamCPI_Close (void *data, GATFileStreamCPI_Instance *instance_data) |
| | filestream_adaptor_FileStreamCPI_Close Closes a FileStream Adaptor implementation of FileStream close capability.
|
| GATResult | filestream_adaptor_FileStreamCPI_GetMetrics (void *data, GATFileStreamCPI_Instance const *instance_data, GATList_GATMetric *metrics) |
| | filestream_adaptor_FileStreamCPI_GetMetrics
|
| GATResult | filestream_adaptor_FileStreamCPI_GetMetricEvent (void *data, GATFileStreamCPI_Instance const *instance_data, GATMetric metric, GATMetricEvent *event) |
| | filestream_adaptor_FileStreamCPI_GetMetricEvent
|
| GATResult | filestream_adaptor_FireReadEvent (GATContext context, GATMonitorable_Impl monitorable, GATObject_const source, char const *name) |
| | filestream_adaptor_FireReadEvent
|
| GATResult | filestream_adaptor_FireWriteEvent (GATContext context, GATMonitorable_Impl monitorable, GATObject_const source, char const *name) |
| | filestream_adaptor_FireWriteEvent
|
| GATResult | filestream_adaptor_FireSeekEvent (GATContext context, GATMonitorable_Impl monitorable, GATObject_const source, char const *name) |
| | filestream_adaptor_FireSeekEvent
|
| GATResult | filestream_adaptor_FireCloseEvent (GATContext context, GATMonitorable_Impl monitorable, GATObject_const source, char const *name) |
| | filestream_adaptor_FireCloseEvent
|
| GATResult | filestream_adaptor_register (GATContext error_context, GATRegistry registry, GATTable_const system_config, GATTable_const instance_config, void *token) |
| | filestream_adaptor_register Registers all CPIs this adaptor provides.
|
Variables |
| const char * | rcsid = "$Header: /export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/adaptors/filestream/adaptor.c,v 1.6 2004/04/22 10:25:05 hartmutkaiser Exp $" |
| GATStaticMetric | metric_data [] |
Define Documentation
| #define __countof |
( |
x |
|
) |
(sizeof(x)/sizeof(x[0]))
|
|
| #define METRIC_FILESTREAM_READ 0
|
|
| #define METRIC_FILESTREAM_WRITE 1
|
|
| #define METRIC_FILESTREAM_SEEK 2
|
|
| #define METRIC_FILESTREAM_CLOSE 3
|
|
Typedef Documentation
| typedef struct GATFileStreamInstance_Data GATFileStreamInstance_Data
|
|
Function Documentation
| void filestream_adaptor_FileStreamCPI_Destroy |
( |
void * |
data |
) |
[static] |
|
|
|
filestream_adaptor_FileStreamCPI_Destroy Destroy the adaptor-provided data object on GATFileStreamCPI destruction.
When the GATFileStreamCPI object created in this adaptor's _register function is destroyed, this function is invoked to allow the adaptor to cleanup. - Parameters:
-
| data |
Adaptor-provided data object. |
Definition at line 265 of file filestream/adaptor.c.
References data.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_CreateInstance Create a new CPI object instance.
Adaptor implementation of create instance capability. - Parameters:
-
| adaptor_data |
Adaptor-provided data object. |
| data |
The pointer to the data structure containing at least the constructor provided data items and a member instance_data, which may be used by the adaptor to store CPI instance specific data. |
- Returns:
-
An error code.
Definition at line 282 of file filestream/adaptor.c.
References GATFileStreamCPI_Instance::context, data, GAT_CREATE_STATUS, GAT_FILEOPEN_ERROR, GAT_INVALID_HANDLE, GAT_MEMORYFAILURE, GAT_RETURN_STATUS, GAT_USES_STATUS, GATFileStreamMode_Append, GATFileStreamMode_Read, GATFileStreamMode_Write, GATLocation_ToString(), GATFileStreamCPI_Instance::instance_data, GATFileStreamCPI_Instance::location, and GATFileStreamCPI_Instance::mode.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_EqualsInstance Clone a CPI object instance.
Adaptor implementation of the clone instance capability. - Parameters:
-
| data |
Adaptor-provided data object. |
| lhs |
The instance data of the left CPI object. |
| lhs |
The instance data of the right CPI object. |
| isequal |
The pointer to the variable, where the result is to be returned to. |
- Returns:
-
An error code.
Definition at line 404 of file filestream/adaptor.c.
References GATFileStreamCPI_Instance::context, data, GAT_CREATE_STATUS, GAT_INVALID_HANDLE, GAT_INVALID_PARAMETER, GAT_RETURN_STATUS, GAT_USES_STATUS, GATBool, GATFalse, GATTrue, and GATFileStreamCPI_Instance::instance_data.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_Read Reads data from a FileStream.
Adaptor implementation of FileStream read capability. - Parameters:
-
| data |
Adaptor-provided data object. |
| instance_data |
The instance data of this CPI object |
| buffer |
The buffer into which data is read |
| size |
The size of the buffer |
| readBytes |
the number of bytes read |
- Returns:
-
An error code.
Definition at line 446 of file filestream/adaptor.c.
References GATFileStreamCPI_Instance::context, data, filestream_adaptor_FireReadEvent(), GAT_CREATE_STATUS, GAT_INVALID_HANDLE, GAT_INVALID_PARAMETER, GAT_RETURN_STATUS, GAT_USES_STATUS, GATuint32, GATFileStreamCPI_Instance::instance_data, GATFileStreamCPI_Instance::monitorable, POSIX_TO_GAT, size, and GATFileStreamCPI_Instance::source.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_Write Writes data to a FileStream.
Adaptor implementation of FileStream write capability. - Parameters:
-
| data |
Adaptor-provided data object. |
| instance_data |
The instance data of this CPI object |
| buffer |
The buffer from which data is written |
| size |
The size of the buffer |
| writtenBytes |
the number of bytes written |
- Returns:
-
An error code.
Definition at line 491 of file filestream/adaptor.c.
References GATFileStreamCPI_Instance::context, data, filestream_adaptor_FireWriteEvent(), GAT_CREATE_STATUS, GAT_INVALID_HANDLE, GAT_INVALID_PARAMETER, GAT_RETURN_STATUS, GAT_USES_STATUS, GATuint32, GATFileStreamCPI_Instance::instance_data, GATFileStreamCPI_Instance::monitorable, POSIX_TO_GAT, size, and GATFileStreamCPI_Instance::source.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_Seek Seeks on a FileStream.
Adaptor implementation of FileStream seek capability. - Parameters:
-
| data |
Adaptor-provided data object. |
| instance_data |
The instance data of this CPI object |
| origin |
The GATOrigin from whence to seek |
| offset |
The offset from the origin which to seek to |
| new_position |
The new position of the FileStream |
- Returns:
-
An error code.
Definition at line 535 of file filestream/adaptor.c.
References GATFileStreamCPI_Instance::context, data, filestream_adaptor_FireSeekEvent(), GAT_CREATE_STATUS, GAT_CURRENT_STATUS, GAT_INVALID_HANDLE, GAT_INVALID_PARAMETER, GAT_RETURN_STATUS, GAT_SUCCEEDED, GAT_USES_STATUS, GATint32, GATOrigin, GATOrigin_Current, GATOrigin_End, GATOrigin_Set, GATuint32, GATFileStreamCPI_Instance::instance_data, GATFileStreamCPI_Instance::monitorable, POSIX_TO_GAT, and GATFileStreamCPI_Instance::source.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_Close Closes a FileStream Adaptor implementation of FileStream close capability.
- Parameters:
-
| data |
Adaptor-provided data object. |
| instance_data |
The instance data of this CPI object |
- Returns:
-
An error code.
Definition at line 609 of file filestream/adaptor.c.
References GATFileStreamCPI_Instance::context, data, filestream_adaptor_FireCloseEvent(), GAT_CREATE_STATUS, GAT_INVALID_HANDLE, GAT_RETURN_STATUS, GAT_USES_STATUS, GATFileStreamCPI_Instance::instance_data, GATFileStreamCPI_Instance::monitorable, POSIX_TO_GAT, and GATFileStreamCPI_Instance::source.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_GetMetrics
The function filestream_adaptor_FileStreamCPI_GetMetrics should return a list of GATMetric objects supported by this adaptor. I.e. the adaptor is capable to fire GATMetricEvents for the returned metrics. This list should include all the supported metrics, event like and continuous ones. - Parameters:
-
| data |
Adaptor-provided data object. |
| instance_data |
Instance data for the CPI provider object. |
| metrics |
The pointer to the variable, which receives the returned list of metrics. |
- Returns:
-
An error code.
Definition at line 651 of file filestream/adaptor.c.
References __countof, data, and GATMetric_CreateListOfMetrics().
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FileStreamCPI_GetMetricEvent
The function filestream_adaptor_FileStreamCPI_GetMetricEvent should return the GATMetricEvent associated with the given continuous metric. This function gets called for continuous metrics only, since returning the metric event object to the caller is th only way for the client to get access to it. - Parameters:
-
| data |
Adaptor-provided data object. |
| instance_data |
Instance data for the CPI provider object. |
| metric |
The metric instance describing the metric event to return. This metric should be equivalent to one of the metrics returned by our own GetMetrics CPI function (see above). If this is another (not known to us metric), an error should be returned. |
| event |
The pointer to the variable, which receives the metric event to return. |
- Returns:
-
An error code.
Definition at line 678 of file filestream/adaptor.c.
References data, GAT_SUCCESS, GATMetric, and GATResult.
Referenced by filestream_adaptor_register(). |
|
|
filestream_adaptor_FireReadEvent
The function filestream_adaptor_FireReadEvent fires a 'filestream read' event to all registered metric listeners.
Definition at line 694 of file filestream/adaptor.c.
References GAT_CREATE_STATUS, GAT_CURRENT_STATUS, GAT_INVALID_PARAMETER, GAT_MEMORYFAILURE, GAT_RETURN_STATUS, GAT_SUCCEEDED, GAT_USES_STATUS, GATMetric, GATMetric_CreateMetric(), GATMetric_Destroy(), GATMetricEvent_Create_EventLike(), GATMetricEvent_Destroy(), GATMonitorable_Impl_FireEvent(), GATObject_const, GATuint32, METRIC_FILESTREAM_READ, and name.
Referenced by filestream_adaptor_FileStreamCPI_Read(). |
|
|
filestream_adaptor_FireWriteEvent
The function filestream_adaptor_FireWriteEvent fires a 'filestream write' event to all registered metric listeners.
Definition at line 736 of file filestream/adaptor.c.
References GAT_CREATE_STATUS, GAT_CURRENT_STATUS, GAT_INVALID_PARAMETER, GAT_MEMORYFAILURE, GAT_RETURN_STATUS, GAT_SUCCEEDED, GAT_USES_STATUS, GATMetric, GATMetric_CreateMetric(), GATMetric_Destroy(), GATMetricEvent_Create_EventLike(), GATMetricEvent_Destroy(), GATMonitorable_Impl_FireEvent(), GATObject_const, GATuint32, METRIC_FILESTREAM_WRITE, and name.
Referenced by filestream_adaptor_FileStreamCPI_Write(). |
|
|
filestream_adaptor_FireSeekEvent
The function filestream_adaptor_FireSeekEvent fires a 'filestream seek' event to all registered metric listeners.
Definition at line 778 of file filestream/adaptor.c.
References GAT_CREATE_STATUS, GAT_CURRENT_STATUS, GAT_INVALID_PARAMETER, GAT_MEMORYFAILURE, GAT_RETURN_STATUS, GAT_SUCCEEDED, GAT_USES_STATUS, GATMetric, GATMetric_CreateMetric(), GATMetric_Destroy(), GATMetricEvent_Create_EventLike(), GATMetricEvent_Destroy(), GATMonitorable_Impl_FireEvent(), GATObject_const, GATuint32, METRIC_FILESTREAM_SEEK, and name.
Referenced by filestream_adaptor_FileStreamCPI_Seek(). |
|
|
filestream_adaptor_FireCloseEvent
The function filestream_adaptor_FireCloseEvent fires a 'filestream close' event to all registered metric listeners.
Definition at line 820 of file filestream/adaptor.c.
References GAT_CREATE_STATUS, GAT_CURRENT_STATUS, GAT_INVALID_PARAMETER, GAT_MEMORYFAILURE, GAT_RETURN_STATUS, GAT_SUCCEEDED, GAT_USES_STATUS, GATMetric, GATMetric_CreateMetric(), GATMetric_Destroy(), GATMetricEvent_Create_EventLike(), GATMetricEvent_Destroy(), GATMonitorable_Impl_FireEvent(), GATObject_const, GATuint32, METRIC_FILESTREAM_CLOSE, and name.
Referenced by filestream_adaptor_FileStreamCPI_Close(). |
|
|
filestream_adaptor_register Registers all CPIs this adaptor provides.
This function is invoked by the loader in the GATEngine when an instance of this adaptor is loaded. Each instance has its own private configuration table.
For every CPI provided the adapter has to hand all the corresponding function pointers to the engine to allow to be called back under certain circumstances. Additionally the adaptor may allocate some private data for every loaded instance. This data is handed back to the adaptor as the first parameter to each of the subsequently called functions. - Parameters:
-
| registry |
The registry the adaptor should register its CPIs with. |
| system_config |
The system configuration table. |
| instance_config |
The configuration table for this instance. |
| token |
An arbitrary token used by the loader to identify this adaptor instance |
- Returns:
-
An error code.
Definition at line 182 of file filestream/adaptor.c.
References GATFileStreamCPI_Data::clone_instance, GATFileStreamCPI_Data::close, cpi, GATFileStreamCPI_Data::create_instance, GATFileStreamCPI_Data::data, GATFileStreamCPI_Data::destroy, GATFileStreamCPI_Data::destroy_instance, GATFileStreamCPI_Data::equals_instance, filestream_adaptor_FileStreamCPI_CloneInstance(), filestream_adaptor_FileStreamCPI_Close(), filestream_adaptor_FileStreamCPI_CreateInstance(), filestream_adaptor_FileStreamCPI_Destroy(), filestream_adaptor_FileStreamCPI_DestroyInstance(), filestream_adaptor_FileStreamCPI_EqualsInstance(), filestream_adaptor_FileStreamCPI_GetMetricEvent(), filestream_adaptor_FileStreamCPI_GetMetrics(), filestream_adaptor_FileStreamCPI_Read(), filestream_adaptor_FileStreamCPI_Seek(), filestream_adaptor_FileStreamCPI_Write(), GAT_MEMORYFAILURE, GAT_SUCCESS, GAT_UNKNOWN_VERSION, GATFileStreamCPI_Create(), GATFileStreamCPI_Destroy(), GATFILESTREAMCPI_VERSION, GATPreferences_Add(), GATPreferences_Create(), GATPreferences_Destroy(), GATResult, GATTable_const, GATVERSION_ISCOMPATIBLE, GATFileStreamCPI_Data::get_metric_event, GATFileStreamCPI_Data::get_metrics, GATFileStreamCPI_Data::read, GATFileStreamCPI_Data::seek, token, and GATFileStreamCPI_Data::write. |
Variable Documentation
const char* rcsid = "$Header: /export/cvs-gridlab/wp-1/Codes/GATEngine/C-reference/adaptors/filestream/adaptor.c,v 1.6 2004/04/22 10:25:05 hartmutkaiser Exp $" [static]
|
|
|