2016-07-29 6 views
-3

Ich mache Änderungen in einem atheros SDK für mein Bedürfnis und Wunsch zu verstehen, warum und zu welchem ​​Zweck (file_t) (- 1), 0, in der Struktur verwendet wird:WAS BEDEUTET (file_t) (- 1), 0, IN DER STRUKTUR?

struct channel channel = 
{ 
     (file_t)(-1), 
     0, 
     CHANNEL_ETHNUMBER, 
     CHANNEL_ETHDEVICE, 
     { 
       0x00, 
       0xB0, 
       0x52, 
       0x00, 
       0x00, 
       0x01 
     }, 
     { 
       0x00, 
       0x00, 
       0x00, 
       0x00, 
       0x00, 
       0x00 
     }, 
     0x0000, 

#if defined (__linux__) 

#elif defined (__APPLE__) || defined (__OpenBSD__) 

     0, 
     0, 
     0, 
     0, 

#elif defined (WINPCAP) || defined (LIBPCAP) 
     (pcap_t *)(0), 
     { 
       0 
     }, 

#else 
#error "Unknown Environment" 
#endif 

     CHANNEL_TIMEOUT, 
     CHANNEL_OPTIONS 
}; 

erforsche ich nicht die SDK und würde helfen, wenn jemand vorschlagen, zu beginnen. Ich danke Ihnen.

+0

Was ist 'struct channel'? Was ist sein erstes Mitglied? .... So ... Unklar .... – LPs

Antwort

1

Sie haben die Deklaration der Variablen channel als Struktur des Typs struct channel dargestellt. Der Code, den Sie gefragt, ist in dieser initializer der Variablen:

(file_t)(-1), 
    0, 

Dies sind die Werte, mit denen die ersten beiden Mitglieder der channel zu initialisieren. Der erste ist -1, umgewandelt in den Typ file_t (der zuvor definiert worden sein muss), und der zweite ist es selbst.

Die Bedeutung dieser Mitglieder hängt von den Details von struct channel und die Art, wie es verwendet wird, die Sie nicht zur Verfügung gestellt haben.