# ifdef __USE_GNU
extern int getgrent_r (struct group *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result);
+ struct group **__restrict __result)
+ __attr_access ((__write_only__, 2, 3));
# endif
/* Search for an entry with a matching group ID.
marked with __THROW. */
extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result);
+ struct group **__restrict __result)
+ __attr_access ((__write_only__, 3, 4));
/* Search for an entry with a matching group name.
extern int getgrnam_r (const char *__restrict __name,
struct group *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result);
+ struct group **__restrict __result)
+ __attr_access ((__write_only__, 3, 4));
# ifdef __USE_MISC
/* Read a group entry from STREAM. This function is not standardized
extern int fgetgrent_r (FILE *__restrict __stream,
struct group *__restrict __resultbuf,
char *__restrict __buffer, size_t __buflen,
- struct group **__restrict __result);
+ struct group **__restrict __result)
+ __attr_access ((__write_only__, 3, 4));
# endif
#endif /* POSIX or reentrant */
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern int getsgent_r (struct sgrp *__result_buf, char *__buffer,
- size_t __buflen, struct sgrp **__result);
+ size_t __buflen, struct sgrp **__result)
+ __attr_access ((__write_only__, 2, 3));
extern int getsgnam_r (const char *__name, struct sgrp *__result_buf,
char *__buffer, size_t __buflen,
- struct sgrp **__result);
+ struct sgrp **__result)
+ __attr_access ((__write_only__, 3, 4));
extern int sgetsgent_r (const char *__string, struct sgrp *__result_buf,
char *__buffer, size_t __buflen,
- struct sgrp **__result);
+ struct sgrp **__result)
+ __attr_access ((__write_only__, 3, 4));
extern int fgetsgent_r (FILE *__stream, struct sgrp *__result_buf,
char *__buffer, size_t __buflen,
- struct sgrp **__result);
+ struct sgrp **__result)
+ __attr_access ((__write_only__, 3, 4));
#endif /* misc */
__END_DECLS
or due to the implementation they are cancellation points and
therefore not marked with __THROW. */
extern int getspent_r (struct spwd *__result_buf, char *__buffer,
- size_t __buflen, struct spwd **__result);
+ size_t __buflen, struct spwd **__result)
+ __attr_access ((__write_only__, 2, 3));
extern int getspnam_r (const char *__name, struct spwd *__result_buf,
char *__buffer, size_t __buflen,
- struct spwd **__result);
+ struct spwd **__result)
+ __attr_access ((__write_only__, 3, 4));
extern int sgetspent_r (const char *__string, struct spwd *__result_buf,
char *__buffer, size_t __buflen,
- struct spwd **__result);
+ struct spwd **__result)
+ __attr_access ((__write_only__, 3, 4));
extern int fgetspent_r (FILE *__stream, struct spwd *__result_buf,
char *__buffer, size_t __buflen,
- struct spwd **__result);
+ struct spwd **__result)
+ __attr_access ((__write_only__, 3, 4));
#endif /* misc */