Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Side by Side Diff: third_party/libsync/include/sync/sync.h

Issue 1754293002: third_party: Add the libsync library from Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: include linux headers with Apache 2 license Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698