¿Cuál es el tipo de una enumeración cuyos valores parecen ser cadenas?

Estoy trabajando con Apple'sScriptingBridge framework, y he generado un archivo de encabezado para iTunes que contiene variosenums como este:

typedef enum {
    iTunesESrcLibrary = 'kLib',
    iTunesESrcIPod = 'kPod',
    iTunesESrcAudioCD = 'kACD',
    iTunesESrcMP3CD = 'kMCD',
    iTunesESrcDevice = 'kDev',
    iTunesESrcRadioTuner = 'kTun',
    iTunesESrcSharedLibrary = 'kShd',
    iTunesESrcUnknown = 'kUnk'
} iTunesESrc;

Mi entendimiento fue queenumos valores @ tenían que ser enteros, pero esta definición parece violar esa regla. Además, parece que se trata a estosenumalores @ como enteros (en unaNSPredicate, por ejemplo) no hace lo correcto.

Agregué elenum declaración anterior a un archivo C con una @ vacmainunción @, y se compiló usandoi686-apple-darwin9-gcc-4.0.1. Entonces, mientras este tipo deenums posible que @s no cumplan con el estándar C (como señala Parappa a continuación), al menos se están compilando paraalguno type por gcc.

Entonces, ¿cuál es ese tipo y cómo puedo usarlo, por ejemplo, en una cadena de formato?

Respuestas a la pregunta(4)

Su respuesta a la pregunta