Changeset 1300:3f1e79e1273e in freeDiameter for include/freeDiameter/libfdproto.h
- Timestamp:
- Aug 30, 2015, 2:11:55 AM (9 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
include/freeDiameter/libfdproto.h
r1295 r1300 1259 1259 typedef int (*dict_avpdata_encode) (void * data, union avp_value * val); 1260 1260 1261 /* 1262 * CALLBACK: dict_avpdata_check 1263 * 1264 * PARAMETERS: 1265 * val : Pointer to the AVP value that was received and needs to be sanity checked. 1266 * data : a parameter stored in the type structure (to enable more generic check functions) 1267 * error_msg: upon erroneous value, a string describing the error can be returned here (it will be strcpy by caller). This description will be returned in the error message, if any. 1268 * 1269 * DESCRIPTION: 1270 * This callback can be provided with a derived type in order to improve the operation of the 1271 * fd_msg_parse_dict function. When this callback is present, the value of the AVP that has 1272 * been parsed is passed to this function for finer granularity check. For example for some 1273 * speccific AVP, the format of an OCTETSTRING value can be further checked, or the 1274 * interger value can be verified. 1275 * 1276 * RETURN VALUE: 1277 * 0 : The value is valid. 1278 * !0 : An error occurred, the error code is returned. It is advised to return EINVAL on incorrect val 1279 */ 1280 typedef int (*dict_avpdata_check) (void * data, union avp_value * val, char ** error_msg); 1281 1282 1261 1283 1262 1284 /* Type to hold data associated to a derived AVP data type */ … … 1267 1289 dict_avpdata_encode type_encode; /* cb to convert formatted data into an AVP value (or NULL) */ 1268 1290 DECLARE_FD_DUMP_PROTOTYPE((*type_dump), union avp_value * val); /* cb called by fd_msg_dump_* for this type of data (if != NULL). Returned string must be freed. */ 1291 dict_avpdata_check type_check; 1292 void * type_check_param; 1269 1293 }; 1270 1294 … … 1293 1317 DECLARE_FD_DUMP_PROTOTYPE(fd_dictfct_Time_dump, union avp_value * avp_value); 1294 1318 1319 1320 /* For string AVP, the following type_check function provides simple basic check for specific characters presence, e.g. use "@." for trivial email address check */ 1321 int fd_dictfct_CharInOS_check(void * data, union avp_value * val, char ** error_msg); 1295 1322 1296 1323
Note: See TracChangeset
for help on using the changeset viewer.