1cac7dca0Sopenharmony_ci// Copyright (c) 2023 Huawei Device Co., Ltd. 2cac7dca0Sopenharmony_ci// Licensed under the Apache License, Version 2.0 (the "License"); 3cac7dca0Sopenharmony_ci// you may not use this file except in compliance with the License. 4cac7dca0Sopenharmony_ci// You may obtain a copy of the License at 5cac7dca0Sopenharmony_ci// 6cac7dca0Sopenharmony_ci// http://www.apache.org/licenses/LICENSE-2.0 7cac7dca0Sopenharmony_ci// 8cac7dca0Sopenharmony_ci// Unless required by applicable law or agreed to in writing, software 9cac7dca0Sopenharmony_ci// distributed under the License is distributed on an "AS IS" BASIS, 10cac7dca0Sopenharmony_ci// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11cac7dca0Sopenharmony_ci// See the License for the specific language governing permissions and 12cac7dca0Sopenharmony_ci// limitations under the License. 13cac7dca0Sopenharmony_ci 14cac7dca0Sopenharmony_ciuse std::fmt; 15cac7dca0Sopenharmony_ci 16cac7dca0Sopenharmony_ciuse crate::sys::winapi::OVERLAPPED_ENTRY; 17cac7dca0Sopenharmony_ciuse crate::Event; 18cac7dca0Sopenharmony_ci 19cac7dca0Sopenharmony_ci#[repr(C)] 20cac7dca0Sopenharmony_cipub(crate) struct Overlapped { 21cac7dca0Sopenharmony_ci // TODO: use in pipe 22cac7dca0Sopenharmony_ci // inner: UnsafeCell<OVERLAPPED>, 23cac7dca0Sopenharmony_ci pub(crate) callback: fn(&OVERLAPPED_ENTRY, Option<&mut Vec<Event>>), 24cac7dca0Sopenharmony_ci} 25cac7dca0Sopenharmony_ci 26cac7dca0Sopenharmony_ciimpl fmt::Debug for Overlapped { 27cac7dca0Sopenharmony_ci fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 28cac7dca0Sopenharmony_ci f.debug_struct("Overlapped").finish() 29cac7dca0Sopenharmony_ci } 30cac7dca0Sopenharmony_ci} 31cac7dca0Sopenharmony_ci 32cac7dca0Sopenharmony_ciunsafe impl Send for Overlapped {} 33cac7dca0Sopenharmony_ci 34cac7dca0Sopenharmony_ciunsafe impl Sync for Overlapped {} 35