diff options
| author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2013-12-02 07:59:08 -0500 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-12-03 10:01:59 -0800 | 
| commit | 17312534879f506c71ee72c549ba6fda6f9b063d (patch) | |
| tree | 036bd2749325adea6b4052920e73d04105834223 /api/src/glfs-handles.h | |
| parent | ed31918c2cf80d6c875e0b31eff4ab634d9375f2 (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.h | 44 | 
1 files changed, 24 insertions, 20 deletions
diff --git a/api/src/glfs-handles.h b/api/src/glfs-handles.h index 437f2cbc8a5..bc26618c4ee 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 */  | 
