126 |
|
|
127 |
typedef struct |
typedef struct |
128 |
{ |
{ |
129 |
u_int8_t magic; /* 0x03 for windows , 0x0c for Mac */ |
u_int8_t magic; /* 0x03 for windows , 0x0c for Mac */ |
130 |
u_int8_t version; /* see above */ |
u_int8_t version; /* see above */ |
131 |
u_int8_t subversion; |
u_int8_t subversion; |
132 |
u_int8_t unused; |
u_int8_t unused; |
133 |
u_int8_t machinemem; /* unused alway 0 */ |
u_int8_t machinemem; /* unused alway 0 */ |
134 |
u_int8_t appmem; /* unused always 16 */ |
u_int8_t appmem; /* unused always 16 */ |
135 |
u_int16_t pctype; /* unused always 0 */ |
u_int16_t pctype; /* unused always 0 */ |
136 |
u_int8_t release_month; /* unused alway 5 */ |
u_int8_t release_month; /* unused alway 5 */ |
137 |
u_int8_t release_day; /* unused alway 15 */ |
u_int8_t release_day; /* unused alway 15 */ |
138 |
u_int16_t customer_class; /* unused always 0 */ |
u_int16_t customer_class; /* unused always 0 */ |
139 |
u_int32_t timestamp; /* timestamp of the version */ |
u_int32_t timestamp; /* timestamp of the version */ |
140 |
u_int16_t dosversion; |
u_int16_t dosversion; |
141 |
u_int16_t flags; /* curently don't know what they are for */ |
u_int16_t flags; /* curently don't know what they are for */ |
142 |
u_int8_t video; |
u_int8_t video; |
143 |
u_int8_t processor; |
u_int8_t processor; |
144 |
u_int32_t media; |
u_int32_t media; |
145 |
u_int32_t winversion; |
u_int32_t winversion; |
146 |
u_int8_t winmode; /* an old remanant field ;) alaways 1 */ |
u_int8_t winmode; /* an old remanant field ;) alaways 1 */ |
147 |
u_int16_t xres; |
u_int16_t xres; |
148 |
u_int16_t yres; |
u_int16_t yres; |
149 |
u_int16_t nbcolors; /* for 16&24 bits depth: 0xffff */ |
u_int16_t nbcolors; /* for 16&24 bits depth: 0xffff */ |
150 |
u_int8_t filler; /* unused alway 0 */ |
u_int8_t filler; /* unused alway 0 */ |
151 |
u_int16_t region; /* it seems always 0 */ |
u_int16_t region; /* it seems always 0 */ |
152 |
u_int16_t languages[4]; |
u_int16_t languages[4]; |
153 |
u_int8_t speed; /* don't know how it is coded */ |
u_int8_t speed; /* don't know how it is coded */ |
154 |
} |
} |
155 |
__attribute__ ((packed)) p3_init30_t; |
__attribute__ ((packed)) p3_init30_t; |
156 |
|
|
157 |
typedef struct |
typedef struct |
158 |
{ |
{ |
159 |
u_int8_t platform; /* 0x03 for windows , 0x0c for Mac */ |
u_int8_t platform; /* 0x03 for windows , 0x0c for Mac */ |
160 |
u_int8_t version; /* see above */ |
u_int8_t version; /* see above */ |
161 |
u_int8_t subversion; |
u_int8_t subversion; |
162 |
char build; /* used only on AOL 5.0 */ |
char build; /* used only on AOL 5.0 */ |
163 |
u_int8_t machinemem; /* unused alway 0 */ |
u_int8_t machinemem; /* unused alway 0 */ |
164 |
u_int8_t appmem; /* unused always 16 */ |
u_int8_t appmem; /* unused always 16 */ |
165 |
u_int16_t pctype; /* unused always 0 */ |
u_int16_t pctype; /* unused always 0 */ |
166 |
u_int8_t release_month; /* unused alway 5 */ |
u_int8_t release_month; /* unused alway 5 */ |
167 |
u_int8_t release_day; /* unused alway 15 */ |
u_int8_t release_day; /* unused alway 15 */ |
168 |
u_int16_t customer_class; /* unused always 0 */ |
u_int16_t customer_class; /* unused always 0 */ |
169 |
u_int32_t timestamp; /* timestamp of the version */ |
u_int32_t timestamp; /* timestamp of the version */ |
170 |
u_int16_t dosversion; |
u_int16_t dosversion; |
171 |
u_int16_t flags; /* curently don't know what they are for */ |
u_int16_t flags; /* curently don't know what they are for */ |
172 |
u_int8_t video; |
u_int8_t video; |
173 |
u_int8_t processor; |
u_int8_t processor; |
174 |
u_int32_t media; |
u_int32_t media; |
175 |
u_int32_t winversion; |
u_int32_t winversion; |
176 |
u_int8_t winmode; /* an old remanant field ;) alaways 1 */ |
u_int8_t winmode; /* an old remanant field ;) alaways 1 */ |
177 |
u_int16_t xres; |
u_int16_t xres; |
178 |
u_int16_t yres; |
u_int16_t yres; |
179 |
u_int16_t nbcolors; /* for 16&24 bits depth: 0xffff */ |
u_int16_t nbcolors; /* for 16&24 bits depth: 0xffff */ |
180 |
u_int8_t filler; /* unused alway 0 */ |
u_int8_t filler; /* unused alway 0 */ |
181 |
u_int16_t region; /* it seems always 0 */ |
u_int16_t region; /* it seems always 0 */ |
182 |
u_int16_t languages[4]; |
u_int16_t languages[4]; |
183 |
u_int16_t unknow; |
u_int16_t unknow; |
184 |
u_int16_t speed; /* connection speed of the modem */ |
u_int16_t speed; /* connection speed of the modem */ |
185 |
} |
} |
186 |
__attribute__ ((packed)) p3_init40_t; |
__attribute__ ((packed)) p3_init40_t; |
187 |
|
|
188 |
#define LANGUAGE_FRENCH {0x0001, 0x0000, 0xfffe, 0x0000} |
#define LANGUAGE_FRENCH {0x0100, 0x0000, 0xfeff, 0x0000} |
189 |
|
|
190 |
void p3_send_init_packet (buffer_t *buffer); |
void p3_send_init_packet (buffer_t * buffer); |
191 |
void p3_recv_init_packet (char * data, size_t data_size); |
void p3_recv_init_packet (char *data, size_t data_size); |
192 |
|
|
193 |
#endif /* __P30INIT_H__ */ |
#endif /* __P30INIT_H__ */ |