[systemd-devel] [PATCH 01/28] dhcp: Add DHCP protocol structures and initial defines
Marcel Holtmann
marcel at holtmann.org
Wed Nov 13 16:50:41 PST 2013
Hi Zbyszek,
>>>>> +#define BOOTREQUEST 1
>>>>> +#define BOOTREPLY 2
>>>>> +
>>>>> +#define DHCP_DISCOVER 1
>>>>> +#define DHCP_OFFER 2
>>>>> +#define DHCP_REQUEST 3
>>>>> +#define DHCP_DECLINE 4
>>>>> +#define DHCP_ACK 5
>>>>> +#define DHCP_NAK 6
>>>>> +#define DHCP_RELEASE 7
>>>>> +
>>>>> +#define DHCP_OVERLOAD_FILE 1
>>>>> +#define DHCP_OVERLOAD_SNAME 2
>>>>> +
>>>>> +#define DHCP_OPTION_PAD 0
>>>>> +#define DHCP_OPTION_SUBNET_MASK 1
>>>>> +#define DHCP_OPTION_ROUTER 3
>>>>> +#define DHCP_OPTION_DOMAIN_NAME_SERVER 6
>>>>> +#define DHCP_OPTION_HOST_NAME 12
>>>>> +#define DHCP_OPTION_DOMAIN_NAME 15
>>>>> +#define DHCP_OPTION_NTP_SERVER 42
>>>>> +#define DHCP_OPTION_REQUESTED_IP_ADDRESS 50
>>>>> +#define DHCP_OPTION_OVERLOAD 52
>>>>> +#define DHCP_OPTION_MESSAGE_TYPE 53
>>>>> +#define DHCP_OPTION_PARAMETER_REQUEST_LIST 55
>>>>> +#define DHCP_OPTION_END 255
>>>>
>>>> For defines like these I'd really suggest using anonymous enums. It's a
>>>> good thing if the compiler knows these things, not just the
>>>> pre-processor...
>>>
>>> these are wire protocol definitions. What benefit do you gain if the
>>> compiler knows them. You always have to handle invalid cases anyway
>>> since malicious servers are a reality.
>>
>> For example, it's nicer to work with gdb if it can resolve them...
> You'll also get an error if you use an enum value of one kind
> in a call requiring an enum of different type.
as I said, these are wire protocol definitions. They come in as bits and bytes and not as enums.
Regards
Marcel
More information about the systemd-devel
mailing list