__smf_record() — Record an SMF record
Standards
Standards / Extensions | C or C++ | Dependencies |
---|---|---|
z/OS® UNIX | both |
Format
#include <unistd.h>
int __smf_record(int smf_record_type,
int smf_record_subtype,
int smf_record_length,
char *smf_record);
General description
The __smf_record() function writes an SMF record pointed to by smf_record of length smf_record_length for SMF record type smf_record_type and subtype smf_record_subtype to the SMF data set.
The service can also be used to determine if a particular type or subtype of SMF record is being recorded to avoid the overhead of data collection if the SMF record is not going to be recorded. See z/OS MVS System Management Facilities (SMF) for more information on SMF record types and layout.
The caller of this service must be APF-authorized or permitted to either the BPX.SMF facility class profile or the BPX.SMF.type.subtype resource profile in the FACILITY class where type is the SMF record type to be written and subtype is the SMF record subtype to be written. For more information about creating and using these profiles and the restrictions on their use, refer to z/OS UNIX System Services Planning.
Returned value
If successful, __smf_record() returns 0.
- Error Code
- Description
- EINVAL
- The value specified on the length operand was incorrect. Use __errno2() to retrieve the reason code that is associated with the error. The following reason codes can accompany the return code: JRSMFBadRecordLength, JrSMFTypeSubtypeMismatch, or JrSMFRecordLenMismatch.
- EMVSERR
- The SMF service returned a nonzero return code. Use __errno2() to determine why the error occurred. The following reason codes can accompany the return code: JRSMFNotAccepting, JRSMFError, JRBadAddress, or JRInternalError.
- ENOMEM
- Not enough storage.
- EPERM
- The calling process is not permitted to the BPX.SMF
resource in the FACILITY class and the calling processes are not APF-authorized,
or the calling process is permitted to the BPX.SMF.xxx.yyy FACILITY
class resource but the environment is dirty. The following reason
codes can accompany the return code:
JRSMFNotAuthorized, JREnvDirty
Related information
None.