It looks to me as if
struct ucred is for internal basu usage (I might be wrong):
If that's the case, can it be renamed to
struct basu_ucred ?
I assume you're experiencing issues as a result? If so, please describe these. Otherwise this just seems like a style change suggestion.
A PR that renames the internal
struct basu_credwould be accepted, which implies writing conversion functions to/from
struct xucredand changing all use to
This isn't a public header anyways. No need to use prefixes if we just use it internally.
struct ucredis under _KERNEL or WANT_UCRED so there is no collision. In DragonFly BSD that is not the case, hence there is a redefinition error. Other BSDs might have the same issue but I have not checked.
Even tho the structure is internal, it can potentially collide with definitions from
sys/ucred.has far as I can tell.
struct ucredbetter - if DragonFly BSD already has it, and it is compatible, there is no need to define it.
- Make FreeBSD expose
struct ucred- We still need to map to/from xucred, as that's what the ioctls use, but there's no need to define it then.
- Make our own internal credential structure and map on all OS's regardless of native structure.
struct ucreddefinition was made to allow drop-in support for FreeBSD in the UNIX peer credentials code paths, as the structure was used throughout the codebase. I don't think there's that many uses left though, so it wouldn't be that big a patch to change.