Date: Sun, 5 Nov 1995 13:33:19 +0100 (MET) From: grog@lemis.de (Greg Lehey) To: joerg_wunsch@uriah.heep.sax.de Cc: hackers@freebsd.org (FreeBSD Hackers) Subject: Re: RPC oddities Message-ID: <199511051233.NAA12443@allegro.lemis.de> In-Reply-To: <199511041821.TAA02527@uriah.heep.sax.de> from "J Wunsch" at Nov 4, 95 07:21:06 pm
next in thread | previous in thread | raw e-mail | index | archive | help
J Wunsch writes:
>
> <rpc/rpc.h> includes definitions for several constants that are inside
> enum's. To the contrary, <nfs/rpcv2.h> #define's just the very same
> constants. The result is that the compiler sees something like:
>
> enum auth_stat {
> AUTH_OK=0,
>
>
> 1 =1,
> AUTH_REJECTEDCRED=2,
> 3 =3,
> AUTH_REJECTEDVERF=4,
> 5 =5,
>
>
> AUTH_INVALIDRESP=6,
> AUTH_FAILED=7
> };
>
> or even worse:
>
> enum clnt_stat {
> RPC_SUCCESS=0,
>
>
> RPC_CANTENCODEARGS=1,
> RPC_CANTDECODERES=2,
> RPC_CANTSEND=3,
> RPC_CANTRECV=4,
> RPC_TIMEDOUT=5,
>
>
> RPC_VERSMISMATCH=6,
> RPC_AUTHERROR=7,
> 1 =8,
> RPC_PROGVERSMISMATCH=9,
> 3 =10,
> ...
> };
>
>
> What would be the correct way to resolve the conflicts?
How about a series of:
/* Authentication failures */
#undef AUTH_BADCRED 1
#undef AUTH_REJECTCRED 2
#undef AUTH_BADVERF 3
#undef AUTH_REJECTVERF 4
#undef AUTH_TOOWEAK 5 /* Give em wheaties */
If you're really paranoid, you could change that to
#ifdef AUTH_BADCRED
# if AUTH_BADCRED != 1
# error incorrect redefinition of AUTH_BADCRED
#endif
#undef AUTH_BADCRED
#endif
#ifdef AUTH_REJECTCRED
# if AUTH_REJECTCRED != 2
# error incorrect redefinition of AUTH_REJECTCRED
#endif
#undef AUTH_REJECTCRED
#endif
#ifdef AUTH_BADVERF
# if AUTH_BADVERF != 3
# error incorrect redefinition of AUTH_BADVERF
#endif
#undef AUTH_BADVERF
#endif
#ifdef AUTH_REJECTVERF
# if AUTH_REJECTVERF != 4
# error incorrect redefinition of AUTH_REJECTVERF
#endif
#undef AUTH_REJECTVERF
#endif
#ifdef AUTH_TOOWEAK
# if AUTH_TOOWEAK != 5
# error incorrect redefinition of AUTH_TOOWEAK
#endif
#undef AUTH_TOOWEAK
#endif /* Give em wheaties */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511051233.NAA12443>
