perfstat_protocol 서브루틴
용도
프로토콜 사용 통계를 검색합니다.
라이브러리
Perfstat 라이브러리 (libperfstat.a)
구문
#include <libperfstat.h>
int perfstat_protocol (name, userbuff, sizeof_struct, desired_number)
perfstat_id_t *name;
perfstat_protocol_t *userbuff;
size_t sizeof_struct;
int desired_number;설명
perfstat_protocol 서브루틴은 ICMP, ICMPv6, IP, IPv6, TCP, UDP, RPC, NFS, NFSv2, NFSv3와 같은 프로토콜 사용 통계를 검색합니다. 하나 이상의 프로토콜 사용 메트릭 세트를 가져오려면 name 매개변수를 통계가 필요한 첫 번째 프로토콜의 이름으로 설정하고 desired_number 매개변수를 설정하십시오.
첫 번째 프로토콜에서 시작하려면 name 매개변수를 " " 또는 FIRST_PROTOCOL로 설정하십시오. userbuff 매개변수는 이 함수에 의해 복사될 원하는 수의 perfstat_protocol_t 구조를 포함할 수 있도록 충분히 큰 메모리 영역을 가리켜야 합니다. 리턴 시 name 매개변수는 다음 프로토콜의 이름으로 설정되거나 모든 구조가 복사된 경우 " " 로 설정됩니다.
사용 가능한 프로토콜 사용 메트릭 세트 수를 검색하려면 name 및 userbuff 매개변수를 NULL로 설정하고 desired_number 매개변수를 0으로 설정하십시오. 리턴되는 값은 사용 가능한 세트의 수입니다.
이 서브루틴은 워크로드 파티션 (WPAR) 내에서 지원되지 않습니다. WPAR을 인식하지 않습니다.
매개변수
| 항목 | 설명 |
|---|---|
| 이름 | "ip", "ipv6", "icmp", "icmpv6", "tcp", "udp", "rpc", "nfs", "nfsv2", "nfsv3", " " 또는 FIRST_PROTOCOL을 포함합니다. |
| 사용자 버퍼 (userbuff) | 하나 이상의 perfstat_protocol_t 구조로 채워질 메모리 영역을 가리킵니다. |
| 구조 크기 | perfstat_protocol_t 구조의 크기를 지정합니다. sizeof(perfstat_protocol_t) |
| desired_number | userbuff에 복사할 perfstat_protocol_t 구조의 수를 지정합니다. |
리턴 값
성공적으로 완료되면 채울 수 있는 구조 수가 리턴됩니다. 실패하면 -1 값이 반환되고 errno 전역 변수가 설정됩니다.
오류 코드
| 항목 | 설명 |
|---|---|
| EINVAL | 매개변수 중 하나가 올바르지 않습니다. |
파일
libperfstat.h 파일은 표준 매크로, 데이터 유형 및 서브루틴을 정의합니다.