UDI Environment: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
No edit summary
m Macros ain't having semicolons at their end, yey
Line 98: Line 98:
'''File''' - <source lang="C">#include "udi.h";</source>
'''File''' - <source lang="C">#include "udi.h";</source>
'''Declaration''' - <source lang="C">typedef <HANDLE> udi_channel_t;</source>
'''Declaration''' - <source lang="C">typedef <HANDLE> udi_channel_t;</source>
'''NullHandle''' - <source lang="C">#define UDI_NULL_CHANNEL <NULL HANDLE VALUE>;</source>
'''NullHandle''' - <source lang="C">#define UDI_NULL_CHANNEL <NULL HANDLE VALUE></source>


'''udi_channel_t''' is used to refer to UDI Channels (described on another page) and are '''transferrable opaque handles'''. They are used for bi-directional communication between different drivers and with the environment.
'''udi_channel_t''' is used to refer to UDI Channels (described on another page) and are '''transferrable opaque handles'''. They are used for bi-directional communication between different drivers and with the environment.
Line 106: Line 106:
'''File''' - <source lang="C">#include "udi.h";</source>
'''File''' - <source lang="C">#include "udi.h";</source>
'''Declaration''' - <source lang="C">typedef <HANDLE> udi_buf_path_t;</source>
'''Declaration''' - <source lang="C">typedef <HANDLE> udi_buf_path_t;</source>
'''NullHandle''' - <source lang="C">#define UDI_NULL_BUF_PATH <NULL HANDLE VALUE>;</source>
'''NullHandle''' - <source lang="C">#define UDI_NULL_BUF_PATH <NULL HANDLE VALUE></source>


All UDI buffers are associated with buffer path handles. They indicate destinations for incoming data and are explicitly allocated by the driver. They are '''not transferable between regions'''.
All UDI buffers are associated with buffer path handles. They indicate destinations for incoming data and are explicitly allocated by the driver. They are '''not transferable between regions'''.
Line 114: Line 114:
'''File''' - <source lang="C">#include "udi.h";</source>
'''File''' - <source lang="C">#include "udi.h";</source>
'''Declaration''' - <source lang="C">typedef <HANDLE> udi_origin_handle_t;</source>
'''Declaration''' - <source lang="C">typedef <HANDLE> udi_origin_handle_t;</source>
'''NullHandle''' - <source lang="C">#define UDI_NULL_ORIGIN <NULL HANDLE VALUE>;</source>
'''NullHandle''' - <source lang="C">#define UDI_NULL_ORIGIN <NULL HANDLE VALUE></source>


Environments should use '''origin handles''' to hold information about origination of user requests. UDI drivers are responsible for copying the origin handle from received control blocks into control blocks generated on behalf of that control block. This is used by the environment to track quota usage, resource distribution, etc. in the system.
Environments should use '''origin handles''' to hold information about origination of user requests. UDI drivers are responsible for copying the origin handle from received control blocks into control blocks generated on behalf of that control block. This is used by the environment to track quota usage, resource distribution, etc. in the system.