Changeset 5142 for trunk/libtransmission/ipcparse.c
- Timestamp:
- Feb 27, 2008, 4:47:58 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/ipcparse.c
r5138 r5142 63 63 #define MSGNAME( id ) ( gl_msgs[(id)].name ) 64 64 #define DICTPAYLOAD( info ) ( 2 > (info)->vers ) 65 66 struct ipc_info 67 { 68 struct ipc_funcs * funcs; 69 int vers; 70 }; 71 72 int 73 ipc_hasvers( const struct ipc_info * inf ) 74 { 75 return inf && ( inf->vers > 0 ); 76 } 65 77 66 78 struct msg … … 219 231 220 232 static int 221 ipc_havemsg( struct ipc_info * info, enum ipc_msg id )233 ipc_havemsg( const struct ipc_info * info, enum ipc_msg id ) 222 234 { 223 235 assert( MSGVALID( id ) ); 224 assert( HASVERS( info ) );236 assert( ipc_hasvers( info ) ); 225 237 226 238 return gl_msgs[id].minvers <= info->vers; … … 228 240 229 241 tr_benc * 230 ipc_initval( struct ipc_info * info, enum ipc_msg id, int64_t tag,242 ipc_initval( const struct ipc_info * info, enum ipc_msg id, int64_t tag, 231 243 tr_benc * pk, int type ) 232 244 { … … 292 304 293 305 uint8_t * 294 ipc_mkempty( struct ipc_info * info, size_t * len, enum ipc_msg id,306 ipc_mkempty( const struct ipc_info * info, size_t * len, enum ipc_msg id, 295 307 int64_t tag ) 296 308 { … … 308 320 309 321 uint8_t * 310 ipc_mkint( struct ipc_info * info, size_t * len, enum ipc_msg id, int64_t tag,311 int64_t num )322 ipc_mkint( const struct ipc_info * info, size_t * len, enum ipc_msg id, 323 int64_t tag, int64_t num ) 312 324 { 313 325 tr_benc pk, * val; … … 326 338 327 339 uint8_t * 328 ipc_mkstr( struct ipc_info * info, size_t * len, enum ipc_msg id, int64_t tag,329 const char * str )340 ipc_mkstr( const struct ipc_info * info, size_t * len, enum ipc_msg id, 341 int64_t tag, const char * str ) 330 342 { 331 343 tr_benc pk, * val; … … 374 386 375 387 uint8_t * 376 ipc_mkgetinfo( struct ipc_info * info, size_t * len, enum ipc_msg id,388 ipc_mkgetinfo( const struct ipc_info * info, size_t * len, enum ipc_msg id, 377 389 int64_t tag, int types, const int * ids ) 378 390 { … … 896 908 897 909 static int 898 gotmsg( struct ipc_info * info, tr_benc * name, tr_benc * val,910 gotmsg( const struct ipc_info * info, tr_benc * name, tr_benc * val, 899 911 tr_benc * tagval, void * arg ) 900 912 { … … 941 953 942 954 static int 943 handlemsgs( struct ipc_info * info, tr_benc * pay, void * arg )955 handlemsgs( const struct ipc_info * info, tr_benc * pay, void * arg ) 944 956 { 945 957 tr_benc * name, * val, * tag; 946 958 int ii; 947 959 948 assert( HASVERS( info ) );960 assert( ipc_hasvers( info ) ); 949 961 950 962 if( DICTPAYLOAD( info ) ) … … 1019 1031 return -1; 1020 1032 } 1021 if( 0 > ( HASVERS( info ) ? handlemsgs( info, &benc, arg ) :1022 handlevers( info, &benc ) ) )1033 if( 0 > ( ipc_hasvers( info ) ? handlemsgs( info, &benc, arg ) : 1034 handlevers( info, &benc ) ) ) 1023 1035 { 1024 1036 SAFEBENCFREE( &benc ); … … 1032 1044 1033 1045 enum ipc_msg 1034 ipc_msgid( struct ipc_info * info, const char * name )1046 ipc_msgid( const struct ipc_info * info, const char * name ) 1035 1047 { 1036 1048 const struct msg * msg = msglookup( name ); … … 1042 1054 1043 1055 int 1044 ipc_ishandled( struct ipc_info * info, enum ipc_msg id )1056 ipc_ishandled( const struct ipc_info * info, enum ipc_msg id ) 1045 1057 { 1046 1058 assert( MSGVALID( id ) ); … … 1050 1062 1051 1063 int 1052 ipc_havetags( struct ipc_info * info )1064 ipc_havetags( const struct ipc_info * info ) 1053 1065 { 1054 1066 return !DICTPAYLOAD( info );
Note: See TracChangeset
for help on using the changeset viewer.