1

In /usr/include/net/if.h I have found the following enum usage:

enum
{
    IFF_UP = 0x1,           /* Interface is up.  */
# define IFF_UP IFF_UP
    IFF_BROADCAST = 0x2,    /* Broadcast address valid.  */
# define IFF_BROADCAST  IFF_BROADCAST
    IFF_DEBUG = 0x4,        /* Turn on debugging.  */
# define IFF_DEBUG  IFF_DEBUG
    IFF_LOOPBACK = 0x8,     /* Is a loopback net.  */
# define IFF_LOOPBACK   IFF_LOOPBACK
    IFF_POINTOPOINT = 0x10, /* Interface is point-to-point link.  */
# define IFF_POINTOPOINT IFF_POINTOPOINT
};

My questions:

  1. What's the point in making an enumerated type without a type? So I won't be able to use them in a typesafe way.
  2. What's the point in making an enum variable then use its value in a #define directive with the same name in the next line?

Thank you

Good Night Nerd Pride
  • 8,245
  • 4
  • 49
  • 65

0 Answers0