| OLD | NEW |
| 1 /* | 1 /* |
| 2 * sync.h | 2 * sync.h |
| 3 * | 3 * |
| 4 * Copyright 2012 Google, Inc | 4 * Copyright 2012 Google, Inc |
| 5 * | 5 * |
| 6 * Licensed under the Apache License, Version 2.0 (the "License"); | 6 * Licensed under the Apache License, Version 2.0 (the "License"); |
| 7 * you may not use this file except in compliance with the License. | 7 * you may not use this file except in compliance with the License. |
| 8 * You may obtain a copy of the License at | 8 * You may obtain a copy of the License at |
| 9 * | 9 * |
| 10 * http://www.apache.org/licenses/LICENSE-2.0 | 10 * http://www.apache.org/licenses/LICENSE-2.0 |
| 11 * | 11 * |
| 12 * Unless required by applicable law or agreed to in writing, software | 12 * Unless required by applicable law or agreed to in writing, software |
| 13 * distributed under the License is distributed on an "AS IS" BASIS, | 13 * distributed under the License is distributed on an "AS IS" BASIS, |
| 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 15 * See the License for the specific language governing permissions and | 15 * See the License for the specific language governing permissions and |
| 16 * limitations under the License. | 16 * limitations under the License. |
| 17 */ | 17 */ |
| 18 | 18 |
| 19 #ifndef __SYS_CORE_SYNC_H | 19 #ifndef _THIRD_PARTY_SYNC_H |
| 20 #define __SYS_CORE_SYNC_H | 20 #define _THIRD_PARTY_SYNC_H |
| 21 | 21 |
| 22 #include <sys/cdefs.h> | 22 #include <sys/cdefs.h> |
| 23 #include <stdint.h> | 23 #include <stdint.h> |
| 24 | 24 |
| 25 __BEGIN_DECLS | 25 #ifdef __cplusplus |
| 26 extern "C" { |
| 27 #endif |
| 26 | 28 |
| 27 // XXX: These structs are copied from the header "linux/sync.h". | 29 // XXX: These structs are copied from the header "linux/sync.h". |
| 28 struct sync_fence_info_data { | 30 struct sync_fence_info_data { |
| 29 uint32_t len; | 31 uint32_t len; |
| 30 char name[32]; | 32 char name[32]; |
| 31 int32_t status; | 33 int32_t status; |
| 32 uint8_t pt_info[0]; | 34 uint8_t pt_info[0]; |
| 33 }; | 35 }; |
| 34 | 36 |
| 35 struct sync_pt_info { | 37 struct sync_pt_info { |
| 36 uint32_t len; | 38 uint32_t len; |
| 37 char obj_name[32]; | 39 char obj_name[32]; |
| 38 char driver_name[32]; | 40 char driver_name[32]; |
| 39 int32_t status; | 41 int32_t status; |
| 40 uint64_t timestamp_ns; | 42 uint64_t timestamp_ns; |
| 41 uint8_t driver_data[0]; | 43 uint8_t driver_data[0]; |
| 42 }; | 44 }; |
| 43 | 45 |
| 44 /* timeout in msecs */ | 46 /* timeout in msecs */ |
| 45 int sync_wait(int fd, int timeout); | 47 int sync_wait(int fd, int timeout); |
| 46 int sync_merge(const char *name, int fd1, int fd2); | 48 int sync_merge(const char *name, int fd1, int fd2); |
| 47 struct sync_fence_info_data *sync_fence_info(int fd); | 49 struct sync_fence_info_data *sync_fence_info(int fd); |
| 48 struct sync_pt_info *sync_pt_info(struct sync_fence_info_data *info, | 50 struct sync_pt_info *sync_pt_info(struct sync_fence_info_data *info, |
| 49 struct sync_pt_info *itr); | 51 struct sync_pt_info *itr); |
| 50 void sync_fence_info_free(struct sync_fence_info_data *info); | 52 void sync_fence_info_free(struct sync_fence_info_data *info); |
| 51 | 53 |
| 52 __END_DECLS | 54 #ifdef __cplusplus |
| 55 } |
| 56 #endif |
| 53 | 57 |
| 54 #endif /* __SYS_CORE_SYNC_H */ | 58 #endif /* _THIRD_PARTY_SYNC_H */ |
| OLD | NEW |