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

Side by Side Diff: ppapi/c/dev/ppb_directory_reader_dev.h

Issue 5674004: Add compile assertions to enforce the sizes of all structs and enums in the C... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PPAPI_C_DEV_PPB_DIRECTORY_READER_DEV_H_ 5 #ifndef PPAPI_C_DEV_PPB_DIRECTORY_READER_DEV_H_
6 #define PPAPI_C_DEV_PPB_DIRECTORY_READER_DEV_H_ 6 #define PPAPI_C_DEV_PPB_DIRECTORY_READER_DEV_H_
7 7
8 #include "ppapi/c/dev/pp_file_info_dev.h"
8 #include "ppapi/c/pp_bool.h" 9 #include "ppapi/c/pp_bool.h"
9 #include "ppapi/c/dev/pp_file_info_dev.h" 10 #include "ppapi/c/pp_macros.h"
10 #include "ppapi/c/pp_module.h" 11 #include "ppapi/c/pp_module.h"
11 #include "ppapi/c/pp_resource.h" 12 #include "ppapi/c/pp_resource.h"
12 13
13 struct PP_CompletionCallback; 14 struct PP_CompletionCallback;
14 15
15 struct PP_DirectoryEntry_Dev { 16 struct PP_DirectoryEntry_Dev {
16 PP_Resource file_ref; 17 PP_Resource file_ref;
17 PP_FileType_Dev file_type; 18 PP_FileType_Dev file_type;
19
20 /** Ensure that this struct is 16-bytes wide by padding the end. Because
21 * PP_Resource is an 8-byte type, some compilers align this struct on 8-byte
22 * boundaries and pad it to 16 bytes even without @a padding. This makes its
23 * size consistent across compilers.
24 */
25 int32_t padding;
18 }; 26 };
27 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_DirectoryEntry_Dev, 16);
19 28
20 #define PPB_DIRECTORYREADER_DEV_INTERFACE "PPB_DirectoryReader(Dev);0.2" 29 #define PPB_DIRECTORYREADER_DEV_INTERFACE "PPB_DirectoryReader(Dev);0.3"
21 30
22 struct PPB_DirectoryReader_Dev { 31 struct PPB_DirectoryReader_Dev {
23 // Creates a DirectoryReader for the given directory. Upon success, the 32 // Creates a DirectoryReader for the given directory. Upon success, the
24 // corresponding directory is classified as "in use" by the resulting 33 // corresponding directory is classified as "in use" by the resulting
25 // DirectoryReader object until such time as the DirectoryReader object is 34 // DirectoryReader object until such time as the DirectoryReader object is
26 // destroyed. 35 // destroyed.
27 PP_Resource (*Create)(PP_Resource directory_ref); 36 PP_Resource (*Create)(PP_Resource directory_ref);
28 37
29 // Returns PP_TRUE if the given resource is a DirectoryReader. Returns 38 // Returns PP_TRUE if the given resource is a DirectoryReader. Returns
30 // PP_FALSE if the resource is invalid or some type other than a 39 // PP_FALSE if the resource is invalid or some type other than a
(...skipping 15 matching lines...) Expand all
46 // ProcessDirectoryEntry(entry); 55 // ProcessDirectoryEntry(entry);
47 // } 56 // }
48 // core_funcs->ReleaseResource(reader); 57 // core_funcs->ReleaseResource(reader);
49 // 58 //
50 int32_t (*GetNextEntry)(PP_Resource directory_reader, 59 int32_t (*GetNextEntry)(PP_Resource directory_reader,
51 struct PP_DirectoryEntry_Dev* entry, 60 struct PP_DirectoryEntry_Dev* entry,
52 struct PP_CompletionCallback callback); 61 struct PP_CompletionCallback callback);
53 }; 62 };
54 63
55 #endif // PPAPI_C_DEV_PPB_DIRECTORY_READER_DEV_H_ 64 #endif // PPAPI_C_DEV_PPB_DIRECTORY_READER_DEV_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698