
radius_put_vendor_attr 함수는 RADIUS 패킷에 vendor-specific attribute를 추가하는 함수입니다.
이 함수의 사용법은 다음과 같습니다.
- 함수의 첫 번째 파라미터는 RADIUS 패킷의 헤더를 가리키는 포인터입니다. (radius_header_t *header)
- 두 번째 파라미터는 vendor ID입니다. (uint32_t vendor_id)
- 세 번째 파라미터는 attribute의 타입입니다. (radius_attribute_type_t attr_type)
- 네 번째 파라미터는 attribute의 값입니다. (void *value)
- 다섯 번째 파라미터는 attribute의 길입니다. (size_t len)
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
radius_header_t *header = ...; // RADIUS 패킷의 헤더를 가리키는 포인터
uint32_t vendor_id = ...; // vendor ID
radius_attribute_type_t attr_type = ...; // attribute의 타입
void *value = ...; // attribute의 값
size_t len = ...; // attribute의 길이
radius_put_vendor_attr(header, vendor_id, attr_type, value, len);
이 함수는 RADIUS 패킷에 vendor-specific attribute를 추가합니다. 하지만, 이 함수는 예외 상황을 처리하지 않습니다. 따라서, 사용자가 이 함수를 호출하기 전에 예외 상황을 처리해야 합니다.
예를 들어, vendor ID가 0일 경우, 이 함수는 에러를 반환하지 않습니다. 따라서, 사용자는 vendor ID가 0이 아닌지 확인해야 합니다.
#hostingforum.kr
c
if (vendor_id == 0) {
// 에러 처리
}
또한, attribute의 길이가 0일 경우, 이 함수는 에러를 반환하지 않습니다. 따라서, 사용자는 attribute의 길이가 0이 아닌지 확인해야 합니다.
#hostingforum.kr
c
if (len == 0) {
// 에러 처리
}
2025-07-15 14:29