summaryrefslogtreecommitdiffstats
path: root/api/src/glfs-handles.h
diff options
context:
space:
mode:
authorKaleb S. KEITHLEY <kkeithle@redhat.com>2013-12-02 07:59:08 -0500
committerAnand Avati <avati@redhat.com>2013-12-03 10:01:59 -0800
commit17312534879f506c71ee72c549ba6fda6f9b063d (patch)
tree036bd2749325adea6b4052920e73d04105834223 /api/src/glfs-handles.h
parented31918c2cf80d6c875e0b31eff4ab634d9375f2 (diff)
gfapi: add __THROW [(__attribute) ((__nothrow__))] to fn decls for C++ users.
Off hand I don't know of anything written in C++ that is or could be a user of gfapi. Never the less, it's possible that one could exist, or be written, and marking the library entry points is a) friendly, b) possibly allows the C++ compiler to generate better code, and c) is a good practice when writing APIs that might be consumed by C++ applications. Considering we already take the first step and use __BEGIN_DECLS/__END_DECLS to be C++ friendly, we should take the extra step Change-Id: Ib319ecaa452a46f258a9c6e8c7221454d2fefd0f Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/6393 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'api/src/glfs-handles.h')
-rw-r--r--api/src/glfs-handles.h44
1 files changed, 24 insertions, 20 deletions
diff --git a/api/src/glfs-handles.h b/api/src/glfs-handles.h
index 437f2cbc8..bc26618c4 100644
--- a/api/src/glfs-handles.h
+++ b/api/src/glfs-handles.h
@@ -77,67 +77,71 @@ typedef struct glfs_object glfs_object_t;
/* Operations that generate handles */
struct glfs_object *glfs_h_lookupat (struct glfs *fs,
struct glfs_object *parent,
- const char *path, struct stat *stat);
+ const char *path,
+ struct stat *stat) __THROW;
struct glfs_object *glfs_h_creat (struct glfs *fs, struct glfs_object *parent,
const char *path, int flags, mode_t mode,
- struct stat *sb);
+ struct stat *sb) __THROW;
struct glfs_object *glfs_h_mkdir (struct glfs *fs, struct glfs_object *parent,
const char *path, mode_t flags,
- struct stat *sb);
+ struct stat *sb) __THROW;
struct glfs_object *glfs_h_mknod (struct glfs *fs, struct glfs_object *parent,
const char *path, mode_t mode, dev_t dev,
- struct stat *sb);
+ struct stat *sb) __THROW;
struct glfs_object *glfs_h_symlink (struct glfs *fs, struct glfs_object *parent,
const char *name, const char *data,
- struct stat *stat);
+ struct stat *stat) __THROW;
/* Operations on the actual objects */
int glfs_h_unlink (struct glfs *fs, struct glfs_object *parent,
- const char *path);
+ const char *path) __THROW;
-int glfs_h_close (struct glfs_object *object);
+int glfs_h_close (struct glfs_object *object) __THROW;
int glfs_caller_specific_init (void *uid_caller_key, void *gid_caller_key,
- void *future);
+ void *future) __THROW;
-int glfs_h_truncate (struct glfs *fs, struct glfs_object *object, off_t offset);
+int glfs_h_truncate (struct glfs *fs, struct glfs_object *object,
+ off_t offset) __THROW;
-int glfs_h_stat(struct glfs *fs, struct glfs_object *object, struct stat *stat);
+int glfs_h_stat(struct glfs *fs, struct glfs_object *object,
+ struct stat *stat) __THROW;
int glfs_h_getattrs (struct glfs *fs, struct glfs_object *object,
- struct stat *stat);
+ struct stat *stat) __THROW;
int glfs_h_setattrs (struct glfs *fs, struct glfs_object *object,
- struct stat *sb, int valid);
+ struct stat *sb, int valid) __THROW;
int glfs_h_readlink (struct glfs *fs, struct glfs_object *object, char *buf,
- size_t bufsiz);
+ size_t bufsiz) __THROW;
int glfs_h_link (struct glfs *fs, struct glfs_object *linktgt,
- struct glfs_object *parent, const char *name);
+ struct glfs_object *parent, const char *name) __THROW;
int glfs_h_rename (struct glfs *fs, struct glfs_object *olddir,
const char *oldname, struct glfs_object *newdir,
- const char *newname);
+ const char *newname) __THROW;
/* Operations enabling opaque invariant handle to object transitions */
ssize_t glfs_h_extract_handle (struct glfs_object *object,
- unsigned char *handle, int len);
+ unsigned char *handle, int len) __THROW;
struct glfs_object *glfs_h_create_from_handle (struct glfs *fs,
unsigned char *handle, int len,
- struct stat *stat);
+ struct stat *stat) __THROW;
/* Operations enabling object handles to fd transitions */
-struct glfs_fd *glfs_h_opendir (struct glfs *fs, struct glfs_object *object);
+struct glfs_fd *glfs_h_opendir (struct glfs *fs,
+ struct glfs_object *object) __THROW;
struct glfs_fd *glfs_h_open (struct glfs *fs, struct glfs_object *object,
- int flags);
+ int flags) __THROW;
__END_DECLS
-#endif /* !_GLFS_HANDLES_H */ \ No newline at end of file
+#endif /* !_GLFS_HANDLES_H */