| 248 | } |
| 249 | |
| 250 | UINT32 |
| 251 | CFormPkg::Read ( |
| 252 | IN CHAR8 *Buffer, |
| 253 | IN UINT32 Size |
| 254 | ) |
| 255 | { |
| 256 | UINT32 Index; |
| 257 | |
| 258 | if ((Size == 0) || (Buffer == NULL)) { |
| 259 | return 0; |
| 260 | } |
| 261 | |
| 262 | if (mReadBufferNode == NULL) { |
| 263 | return 0; |
| 264 | } |
| 265 | |
| 266 | for (Index = 0; Index < Size; Index++) { |
| 267 | if ((mReadBufferNode->mBufferStart + mReadBufferOffset) < mReadBufferNode->mBufferFree) { |
| 268 | Buffer[Index] = mReadBufferNode->mBufferStart[mReadBufferOffset++]; |
| 269 | } else { |
| 270 | if ((mReadBufferNode = mReadBufferNode->mNext) == NULL) { |
| 271 | return Index; |
| 272 | } else { |
| 273 | mReadBufferOffset = 0; |
| 274 | Index --; |
| 275 | } |
| 276 | } |
| 277 | } |
| 278 | |
| 279 | return Size; |
| 280 | } |
| 281 | |
| 282 | EFI_VFR_RETURN_CODE |
| 283 | CFormPkg::BuildPkgHdr ( |
no outgoing calls
no test coverage detected