Cosa significa “s” nella struttura?

Ecco una semplice domanda. Qual è il significato della lettera principale ” s ” in sin_family, sin_port, sin_addr e sin_zero?

struct sockaddr_in { short int sin_family; // Address family, AF_INET unsigned short int sin_port; // Port number struct in_addr sin_addr; // Internet address unsigned char sin_zero[8]; // Same size as struct sockaddr }; 

Grazie.

Questo viene da Berkeley, quando l’LSD era ancora legale. Quindi molto ovvio nelle loro scelte di denominazione: /

A parte gli scherzi, questo risale ai primissimi K & R C dove i membri della struttura non avevano il loro spazio dei nomi. Il che ha richiesto di creare nomi distinti per i membri della struttura che non collidessero con gli identificatori nello spazio dei nomi globale. Doloroso. Il prefisso dei nomi con un’abbreviazione del nome della struttura era l’approccio comune.

Quindi “sockaddr_in” diventa “peccato”.

Nota come le enumerazioni continuano ad avere questo problema oggi, non atipicamente risolto allo stesso modo.

sin sta ripetendo il nome della struttura sockaddr_in , cioè S ocket IN ternet.

“sin” sta per “Socket INternet” in questo contesto.