Bonjour,
Dans un .h :
typedef void (*write_b)(void *,u_char *,u_long,u_long);
Donc c'est un pointeur de fonction (write_b) avec 3 paramètres.
Plus loin dans ce mêm .h :
1 2 3 4 5 6 7 8 9
| typedef struct
{
/*
procedures et variables diverses
...
*/
write_b write_bytes; /* procedure d'écriture 8 bits */
}
t_target; |
Donc c'est uns structure avec un champ write_bytes de type write_b. Donc un pointeur sur une fonction.
Je ne maîtrise pas trop les pointeurs de fonctions mais de ce que j'ai vu il faut l'initialiser avec l'adresse d'une fonction. Et les seules possibles initialisations que j'ai trouvé sont du type :
(p_space->write_bytes)(p_space,(u_char *)buffer,((p_block->adbloc)+offset),nbelts);
avec
p_space un pointeur sur t_target
Là, ça se complique. Il me semblerait que ce soit un pointeur de fonction mais je demande de l'aide.
Je ne peux pas tout détailler parceque ça s'imbrique dans tous les sens. Mais j'aimerais comprendre sur quoi pointe write_bytes.
Merci
Partager