Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenchannel.c
Go to the documentation of this file.
00001 /* 00002 * PROJECT: ReactOS Boot Loader 00003 * LICENSE: BSD - See COPYING.ARM in the top level directory 00004 * FILE: drivers/sac/driver/channel.c 00005 * PURPOSE: Driver for the Server Administration Console (SAC) for EMS 00006 * PROGRAMMERS: ReactOS Portable Systems Group 00007 */ 00008 00009 /* INCLUDES *******************************************************************/ 00010 00011 #include "sacdrv.h" 00012 00013 /* GLOBALS ********************************************************************/ 00014 00015 /* FUNCTIONS ******************************************************************/ 00016 00017 BOOLEAN 00018 ChannelIsValidType( 00019 IN SAC_CHANNEL_TYPE ChannelType 00020 ) 00021 { 00022 return ((ChannelType >= VtUtf8) && (ChannelType <= Raw)); 00023 } 00024 00025 BOOLEAN 00026 ChannelIsEqual( 00027 IN PSAC_CHANNEL Channel, 00028 IN PSAC_CHANNEL_ID ChannelId 00029 ) 00030 { 00031 return IsEqualGUIDAligned( 00032 &Channel->ChannelId.ChannelGuid, 00033 &ChannelId->ChannelGuid); 00034 } 00035 00036 NTSTATUS 00037 ChannelInitializeVTable( 00038 IN PSAC_CHANNEL Channel 00039 ) 00040 { 00041 return STATUS_NOT_IMPLEMENTED; 00042 } 00043 00044 NTSTATUS 00045 ChannelDereferenceHandles( 00046 IN PSAC_CHANNEL Channel 00047 ) 00048 { 00049 return STATUS_NOT_IMPLEMENTED; 00050 } 00051 00052 NTSTATUS 00053 ChannelDestroy( 00054 IN PSAC_CHANNEL Channel 00055 ) 00056 { 00057 CHECK_PARAMETER(Channel); 00058 00059 return ChannelDereferenceHandles(Channel); 00060 } 00061 00062 NTSTATUS 00063 ChannelOWrite( 00064 IN PSAC_CHANNEL Channel, 00065 IN PWCHAR Buffer, 00066 IN ULONG BufferSize 00067 ) 00068 { 00069 NTSTATUS Status; 00070 00071 CHECK_PARAMETER3(BufferSize < SAC_OBUFFER_SIZE); 00072 00073 ChannelLockOBuffer(Channel); 00074 00075 Status = Channel->OBufferWrite(Channel, Buffer, BufferSize); 00076 00077 ChannelUnlockOBuffer(Channel); 00078 00079 return Status; 00080 } 00081 00082 NTSTATUS 00083 ChannelOFlush( 00084 IN PSAC_CHANNEL Channel 00085 ) 00086 { 00087 NTSTATUS Status; 00088 00089 ChannelLockOBuffer(Channel); 00090 00091 Status = Channel->OBufferFlush(Channel); 00092 00093 ChannelUnlockOBuffer(Channel); 00094 00095 return Status; 00096 } 00097 00098 NTSTATUS 00099 ChannelIWrite( 00100 IN PSAC_CHANNEL Channel, 00101 IN PWCHAR Buffer, 00102 IN ULONG BufferSize 00103 ) 00104 { 00105 NTSTATUS Status; 00106 00107 ChannelLockIBuffer(Channel); 00108 00109 Status = Channel->IBufferWrite(Channel, Buffer, BufferSize); 00110 00111 ChannelUnlockIBuffer(Channel); 00112 00113 return Status; 00114 } 00115 00116 ULONG 00117 ChannelIRead( 00118 IN PSAC_CHANNEL Channel, 00119 PWCHAR Buffer, 00120 ULONG BufferSize, 00121 OUT PULONG ResultBufferSize 00122 ) 00123 { 00124 NTSTATUS Status; 00125 00126 ChannelLockIBuffer(Channel); 00127 00128 Status = Channel->IBufferRead(Channel, Buffer, BufferSize, ResultBufferSize); 00129 00130 ChannelUnlockIBuffer(Channel); 00131 00132 return Status; 00133 } 00134 00135 NTSTATUS 00136 ChannelIReadLast( 00137 IN PSAC_CHANNEL Channel 00138 ) 00139 { 00140 NTSTATUS Status; 00141 00142 ChannelLockIBuffer(Channel); 00143 00144 Status = Channel->IBufferReadLast(Channel); 00145 00146 ChannelUnlockIBuffer(Channel); 00147 00148 return Status; 00149 } 00150 00151 ULONG 00152 ChannelIBufferLength( 00153 IN PSAC_CHANNEL Channel 00154 ) 00155 { 00156 NTSTATUS Length; 00157 00158 ChannelLockOBuffer(Channel); 00159 00160 Length = Channel->IBufferLength(Channel); 00161 00162 ChannelUnlockOBuffer(Channel); 00163 00164 return Length; 00165 } 00166 00167 NTSTATUS 00168 ChannelGetName( 00169 IN PSAC_CHANNEL Channel, 00170 OUT PWCHAR *Name 00171 ) 00172 { 00173 return STATUS_NOT_IMPLEMENTED; 00174 } 00175 00176 NTSTATUS 00177 ChannelSetName( 00178 IN PSAC_CHANNEL Channel, 00179 IN PWCHAR Name 00180 ) 00181 { 00182 return STATUS_NOT_IMPLEMENTED; 00183 } 00184 00185 NTSTATUS 00186 ChannelGetDescription( 00187 IN PSAC_CHANNEL Channel, 00188 OUT PWCHAR *Description 00189 ) 00190 { 00191 return STATUS_NOT_IMPLEMENTED; 00192 } 00193 00194 NTSTATUS 00195 ChannelSetDescription( 00196 IN PSAC_CHANNEL Channel, 00197 IN PWCHAR Description 00198 ) 00199 { 00200 return STATUS_NOT_IMPLEMENTED; 00201 } 00202 00203 NTSTATUS 00204 ChannelSetStatus( 00205 IN PSAC_CHANNEL Channel, 00206 IN SAC_CHANNEL_STATUS ChannelStatus 00207 ) 00208 { 00209 return STATUS_NOT_IMPLEMENTED; 00210 } 00211 00212 NTSTATUS 00213 ChannelGetStatus( 00214 IN PSAC_CHANNEL Channel, 00215 OUT PSAC_CHANNEL_STATUS ChannelStatus 00216 ) 00217 { 00218 return STATUS_NOT_IMPLEMENTED; 00219 } 00220 00221 NTSTATUS 00222 ChannelGetApplicationType( 00223 IN PSAC_CHANNEL Channel, 00224 OUT PGUID ApplicationType 00225 ) 00226 { 00227 return STATUS_NOT_IMPLEMENTED; 00228 } 00229 00230 NTSTATUS 00231 NTAPI 00232 ChannelSetLockEvent( 00233 IN PSAC_CHANNEL Channel 00234 ) 00235 { 00236 NTSTATUS Status; 00237 00238 ChannelSetEvent(Channel, LockEvent); 00239 00240 return Status; 00241 } 00242 00243 NTSTATUS 00244 NTAPI 00245 ChannelSetRedrawEvent( 00246 IN PSAC_CHANNEL Channel 00247 ) 00248 { 00249 NTSTATUS Status; 00250 00251 ChannelSetEvent(Channel, RedrawEvent); 00252 00253 return Status; 00254 } 00255 00256 NTSTATUS 00257 ChannelClearRedrawEvent( 00258 IN PSAC_CHANNEL Channel 00259 ) 00260 { 00261 NTSTATUS Status; 00262 00263 ChannelClearEvent(Channel, RedrawEvent); 00264 00265 return Status; 00266 } 00267 00268 NTSTATUS 00269 ChannelHasRedrawEvent( 00270 IN PSAC_CHANNEL Channel, 00271 OUT PBOOLEAN Present 00272 ) 00273 { 00274 CHECK_PARAMETER1(Channel); 00275 CHECK_PARAMETER2(Present); 00276 00277 *Present = Channel->Flags & SAC_CHANNEL_FLAG_REDRAW_EVENT; 00278 00279 return STATUS_SUCCESS; 00280 } 00281 00282 BOOLEAN 00283 ChannelIsActive( 00284 IN PSAC_CHANNEL Channel 00285 ) 00286 { 00287 SAC_CHANNEL_STATUS ChannelStatus; 00288 00289 if (!NT_SUCCESS(ChannelGetStatus(Channel, &ChannelStatus))) return FALSE; 00290 00291 return (ChannelStatus == Active); 00292 } 00293 00294 BOOLEAN 00295 ChannelIsClosed( 00296 IN PSAC_CHANNEL Channel 00297 ) 00298 { 00299 return FALSE; 00300 } 00301 00302 NTSTATUS 00303 ChannelCreate( 00304 IN PSAC_CHANNEL Channel, 00305 IN PSAC_CHANNEL_ATTRIBUTES Attributes, 00306 IN SAC_CHANNEL_ID ChannelId 00307 ) 00308 { 00309 return STATUS_NOT_IMPLEMENTED; 00310 } 00311 00312 NTSTATUS 00313 ChannelClose( 00314 IN PSAC_CHANNEL Channel 00315 ) 00316 { 00317 return STATUS_NOT_IMPLEMENTED; 00318 } Generated on Sat May 26 2012 04:26:42 for ReactOS by
1.7.6.1
|