Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / audit / audit.h
CommitLineData
805e021f
CE
1/*
2 * Copyright 2000, International Business Machines Corporation and others.
3 * All Rights Reserved.
4 *
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
8 */
9
10#define AUD_END 0 /* End of variable list */
11#define AUD_STR 1 /* String in variable list */
12#define AUD_INT 2 /* int in variable list */
13#define AUD_LST 3 /* Variable list in a variable list */
14#define AUD_HOST 4 /* A host # to be changed to string */
15#define AUD_LONG 5 /* long in variable list */
16#define AUD_DATE 6 /* date (unsigned long) */
17#define AUD_FID 7 /* File ID */
18#define AUD_FIDS 8 /* array of Fids */
19#define AUD_NAME 9 /* Name */
20#define AUD_ID 10 /* Id (Vice, PTS, ...) */
21#define AUD_ACL 11 /* ACL */
22/* next 3 lines on behalf of MR-AFS */
23#define AUD_RESID 20 /* resid in variable list */
24#define AUD_RSSIZERANGE 21 /* rssizerange in variable list */
25#define AUD_LOOKUPINFO 22 /* LookupInfo in variable list */
26/* next 5 lines for butc */
27#define AUD_TLBL 30 /* Tape Controller label */
28#define AUD_TDI 31 /* Tape Controller dump interface */
29#define AUD_TDA 32 /* Tape Controller dump array */
30#define AUD_TRA 33 /* Tape Controller restore array */
31#define AUD_TSTT 34 /* Tape Controller status struct */
32
33/*
34 * Note: the master definitions of these error codes come from *.et
35 * files in other parts of the tree. They are hardcoded here as a
36 * simple way to avoid circular dependence problems in the build.
37 */
38
39#define KANOAUTH (180488L) /* kauth/kaerrors.et */
40#define RXKADNOAUTH (19270405L) /* rxkad/rxkad_errs.et */
41#define PRPERM (267269L) /* ptserver/pterror.et */
42#define VL_PERM (363546L) /* vlserver/vl_errors.et */
43#define BUDB_NOTPERMITTED (156303880L) /* budb/budb_errs.et */
44#define BZACCESS (39430L) /* bozo/boserr.et */
45#define VOLSERBAD_ACCESS (1492325127L) /* volser/volerr.et */
46
47
48#define VS_StartEvent "AFS_VS_Start"
49#define VS_FinishEvent "AFS_VS_Finish"
50#define VS_ExitEvent "AFS_VS_Exit"
51#define VS_ParInfEvent "AFS_VS_ParInf"
52#define VS_NukVolEvent "AFS_VS_NukVol"
53#define VS_CrVolEvent "AFS_VS_CrVol"
54#define VS_DelVolEvent "AFS_VS_DelVol"
55#define VS_CloneEvent "AFS_VS_Clone"
56#define VS_ReCloneEvent "AFS_VS_ReClone"
57#define VS_TransCrEvent "AFS_VS_TransCr"
58#define VS_GetNVolEvent "AFS_VS_GetNVol"
59#define VS_GetFlgsEvent "AFS_VS_GetFlgs"
60#define VS_SetFlgsEvent "AFS_VS_SetFlgs"
61#define VS_ForwardEvent "AFS_VS_Forward"
62#define VS_DumpEvent "AFS_VS_Dump"
63#define VS_RestoreEvent "AFS_VS_Restore"
64#define VS_EndTrnEvent "AFS_VS_EndTrn"
65#define VS_SetForwEvent "AFS_VS_SetForw"
66#define VS_GetStatEvent "AFS_VS_GetStat"
67#define VS_SetInfoEvent "AFS_VS_SetInfo"
68#define VS_GetNameEvent "AFS_VS_GetName"
69#define VS_SigRstEvent "AFS_VS_SigRst"
70#define VS_ListParEvent "AFS_VS_ListPar"
71#define VS_Lst1VolEvent "AFS_VS_Lst1Vol"
72#define VS_XLst1VlEvent "AFS_VS_XLst1Vl"
73#define VS_ListVolEvent "AFS_VS_ListVol"
74#define VS_XLstVolEvent "AFS_VS_XLstVol"
75#define VS_MonitorEvent "AFS_VS_Monitor"
76#define VS_SetIdTyEvent "AFS_VS_SetIdTy"
77#define VS_SetDateEvent "AFS_VS_SetDate"
78/* Next 2 lines on behalf of MR-AFS */
79#define VS_SelectiveDumpEvent "AFS_VS_DmpSelct"
80#define VS_ListVolumeResidencyInfoEvent "AFS_VS_LstVInfo"
81
82#define PTS_StartEvent "AFS_PTS_Start"
83#define PTS_FinishEvent "AFS_PTS_Finish"
84#define PTS_ExitEvent "AFS_PTS_Exit"
85#define PTS_INewEntEvent "AFS_PTS_INewEnt"
86#define PTS_NewEntEvent "AFS_PTS_NewEnt"
87#define PTS_WheIsItEvent "AFS_PTS_WheIsIt"
88#define PTS_DmpEntEvent "AFS_PTS_DmpEnt"
89#define PTS_AdToGrpEvent "AFS_PTS_AdToGrp"
90#define PTS_NmToIdEvent "AFS_PTS_NmToId"
91#define PTS_IdToNmEvent "AFS_PTS_IdToNm"
92#define PTS_DelEvent "AFS_PTS_Del"
93#define PTS_RmFmGrpEvent "AFS_PTS_RmFmGrp"
94#define PTS_GetCPSEvent "AFS_PTS_GetCPS"
95#define PTS_GetCPS2Event "AFS_PTS_GetCPS2"
96#define PTS_GetHCPSEvent "AFS_PTS_GetHCPS"
97#define PTS_LstMaxEvent "AFS_PTS_LstMax"
98#define PTS_SetMaxEvent "AFS_PTS_SetMax"
99#define PTS_LstEntEvent "AFS_PTS_LstEnt"
100#define PTS_LstEntsEvent "AFS_PTS_LstEnts"
101#define PTS_ChgEntEvent "AFS_PTS_ChgEnt"
102#define PTS_SetFldEntEvent "AFS_PTS_SetFEnt"
103#define PTS_LstEleEvent "AFS_PTS_LstEle"
104#define PTS_LstOwnEvent "AFS_PTS_LstOwn"
105#define PTS_IsMemOfEvent "AFS_PTS_IsMemOf"
106#define PTS_UpdEntEvent "AFS_PTS_UpdEnt"
107#define PTS_LstSGrps "AFS_PTS_LstSGrps"
108
109#define BUDB_StartEvent "AFS_BUDB_Start"
110#define BUDB_FinishEvent "AFS_BUDB_Finish"
111#define BUDB_ExitEvent "AFS_BUDB_Exit"
112#define BUDB_AddVolEvent "AFS_BUDB_AddVol"
113#define BUDB_CrDmpEvent "AFS_BUDB_CrDmp"
114#define BUDB_DelDmpEvent "AFS_BUDB_DelDmp"
115#define BUDB_LstDmpEvent "AFS_BUDB_LstDmp"
116#define BUDB_DelTpeEvent "AFS_BUDB_DelTpe"
117#define BUDB_DelVDPEvent "AFS_BUDB_DelVDP"
118#define BUDB_FndClnEvent "AFS_BUDB_FndCln"
119#define BUDB_FndDmpEvent "AFS_BUDB_FndDmp"
120#define BUDB_FndLaDEvent "AFS_BUDB_FndLaD"
121#define BUDB_FinDmpEvent "AFS_BUDB_FinDmp"
122#define BUDB_FinTpeEvent "AFS_BUDB_FinTpe"
123#define BUDB_GetDmpEvent "AFS_BUDB_GetDmp"
124#define BUDB_GetTpeEvent "AFS_BUDB_GetTpe"
125#define BUDB_GetVolEvent "AFS_BUDB_GetVol"
126#define BUDB_UseTpeEvent "AFS_BUDB_UseTpe"
127#define BUDB_TDmpHaEvent "AFS_BUDB_TDmpHa"
128#define BUDB_TGetVrEvent "AFS_BUDB_TGetVr"
129#define BUDB_TDmpDBEvent "AFS_BUDB_TDmpDB"
130#define BUDB_DBVfyEvent "AFS_BUDB_DBVfy"
131#define BUDB_FrALckEvent "AFS_BUDB_FrALck"
132#define BUDB_FreLckEvent "AFS_BUDB_FreLck"
133#define BUDB_GetIIdEvent "AFS_BUDB_GetIId"
134#define BUDB_GetLckEvent "AFS_BUDB_GetLck"
135#define BUDB_GetTxtEvent "AFS_BUDB_GetTxt"
136#define BUDB_GetTxVEvent "AFS_BUDB_GetTxV"
137#define BUDB_SavTxtEvent "AFS_BUDB_SavTxt"
138#define BUDB_DmpDBEvent "AFS_BUDB_DmpDB"
139#define BUDB_RstDBHEvent "AFS_BUDB_RstDBH"
140#define BUDB_AppDmpEvent "AFS_BUDB_AppDmp"
141#define BUDB_FndLTpeEvent "AFS_BUDB_FnLTpe"
142
143#define AFS_KAA_ChPswdEvent "AFS_KAA_ChPswd"
144#define AFS_KAA_AuthOEvent "AFS_KAA_AuthO"
145#define AFS_KAA_AuthEvent "AFS_KAA_Auth"
146
147#define AFS_KAT_GetTicketOEvent "AFS_KAT_GetTktO"
148#define AFS_KAT_GetTicketEvent "AFS_KAT_GetTkt"
149
150#define AFS_KAM_CrUserEvent "AFS_KAM_CrUser"
151#define AFS_KAM_DelUserEvent "AFS_KAM_DelUser"
152#define AFS_KAM_SetPswdEvent "AFS_KAM_SetPswd"
153#define AFS_KAM_LstEntEvent "AFS_KAM_LstEnt"
154#define AFS_KAM_GetPswdEvent "AFS_KAM_GetPswd"
155#define AFS_KAM_DbgEvent "AFS_KAM_Dbg"
156#define AFS_KAM_SetFldEvent "AFS_KAM_SetFld"
157#define AFS_KAM_GetStatEvent "AFS_KAM_GetStat"
158#define AFS_KAM_GetEntEvent "AFS_KAM_GetEnt"
159#define AFS_KAM_GetRndKeyEvent "AFS_KAM_GRnKey"
160#define UnlockEvent "AFS_UnlockUser"
161#define LockStatusEvent "AFS_LockStatus"
162
163#define UnAuthEvent "AFS_UnAth"
164#define UseOfPrivilegeEvent "AFS_UseOfPriv"
165#define UDPAuthenticateEvent "AFS_UDPAuth"
166#define UDPGetTicketEvent "AFS_UDPGetTckt"
167
168#define FetchDataEvent "AFS_SRX_FchData"
169#define FetchACLEvent "AFS_SRX_FchACL"
170#define BulkFetchStatusEvent "AFS_SRX_BFchSta"
171#define FetchStatusEvent "AFS_SRX_FchStat"
172#define StoreDataEvent "AFS_SRX_StData"
173#define StoreACLEvent "AFS_SRX_StACL"
174#define StoreStatusEvent "AFS_SRX_StStat"
175#define RemoveFileEvent "AFS_SRX_RmFile"
176#define CreateFileEvent "AFS_SRX_CrFile"
177#define RenameFileEvent "AFS_SRX_RNmFile"
178#define SymlinkEvent "AFS_SRX_SymLink"
179#define LinkEvent "AFS_SRX_Link"
180#define MakeDirEvent "AFS_SRX_MakeDir"
181#define RemoveDirEvent "AFS_SRX_RmDir"
182#define SetLockEvent "AFS_SRX_SetLock"
183#define ExtendLockEvent "AFS_SRX_ExtLock"
184#define ReleaseLockEvent "AFS_SRX_RelLock"
185#define GetVolumeStatusEvent "AFS_SRX_GetVolS"
186#define SetVolumeStatusEvent "AFS_SRX_SetVolS"
187#define FlushCPSEvent "AFS_SRX_FlusCPS"
188#define InlineBulkFetchStatusEvent "AFS_SRX_BIFchSt"
189#define PrivilegeEvent "AFS_Priv"
190#define PrivSetID "AFS_PrivSet"
191/* Next 5 lines on behalf of MR-AFS */
192#define GetResidenciesEvent "AFS_SRX_GetR"
193#define ChangeResidenciesEvent "AFS_SRX_ChgR"
194#define ImportResidenciesEvent "AFS_SRX_Import"
195#define GetExtendedVolumeAttributesEvent "AFS_SRX_GetVA"
196#define SetExtendedVolumeAttributesEvent "AFS_SRX_SetVA"
197#define GetStatisticsEvent "AFS_SRX_GetStats"
198#define XStatsVersionEvent "AFS_SRX_XStatsVer"
199#define GetXStatsEvent "AFS_SRX_GetXStats"
200
201#define NoAuthEvent "AFS_RunNoAuth"
202#define NoAuthDisableEvent "AFS_NoAuthDsbl"
203#define NoAuthEnableEvent "AFS_NoAuthEnbl"
204
205#define BOS_SetRestartEvent "AFS_BOS_SetReSt"
206#define BOS_ExecEvent "AFS_BOS_Exec"
207#define BOS_UnInstallEvent "AFS_BOS_UnInst"
208#define BOS_InstallEvent "AFS_BOS_Inst"
209#define BOS_SetCellEvent "AFS_BOS_SetCell"
210#define BOS_AddHostEvent "AFS_BOS_AddHst"
211#define BOS_DeleteHostEvent "AFS_BOS_DelHst"
212#define BOS_AddKeyEvent "AFS_BOS_AddKey"
213#define BOS_ListKeysEvent "AFS_BOS_LstKey"
214#define BOS_UnAuthListKeysEvent "AFS_BOS_LstKeyU"
215#define BOS_DeleteKeyEvent "AFS_BOS_DelKey"
216#define BOS_SetNoAuthEvent "AFS_BOS_SetNoAu"
217#define BOS_AddSUserEvent "AFS_BOS_AddSUsr"
218#define BOS_ListSUserEvent "AFS_BOS_LstSUsr"
219#define BOS_DeleteSUserEvent "AFS_BOS_DelSUsr"
220#define BOS_CreateBnodeEvent "AFS_BOS_CreBnod"
221#define BOS_DeleteBnodeEvent "AFS_BOS_DelBnod"
222#define BOS_StartupAllEvent "AFS_BOS_StartAl"
223#define BOS_RestartAllEvent "AFS_BOS_ReStAll"
224#define BOS_ShutdownAllEvent "AFS_BOS_ShtdAll"
225#define BOS_WaitAllEvent "AFS_BOS_WaitAll"
226#define BOS_RestartEvent "AFS_BOS_ReStart"
227#define BOS_RebozoEvent "AFS_BOS_ReBos"
228#define BOS_RebozoIntEvent "AFS_BOS_ReBosIn"
229#define BOS_SetTempStatusEvent "AFS_BOS_SetTSta"
230#define BOS_SetStatusEvent "AFS_BOS_SetStat"
231#define BOS_PruneLogs "AFS_BOS_PrnLog"
232#define BOS_GetLogsEvent "AFS_BOS_GetLog"
233#define BOSDoExecEvent "AFS_BOS_DoExec"
234#define BOSStopProcEvent "AFS_BOS_StpProc"
235#define BOSSpawnProcEvent "AFS_BOS_SpawnProc"
236
237#define VLCreateEntryEvent "AFS_VL_CreEnt"
238#define VLDeleteEntryEvent "AFS_VL_DelEnt"
239#define VLGetNewVolumeIdEvent "AFS_VL_GetNVlID"
240#define VLReplaceVLEntryEvent "AFS_VL_RepEnt"
241#define VLUpdateEntryEvent "AFS_VL_UpdEnt"
242#define VLSetLockEvent "AFS_VL_SetLck"
243#define VLReleaseLockEvent "AFS_VL_RelLck"
244#define VLChangeAddrEvent "AFS_VL_ChgAdd"
245#define VLListEntryEvent "AFS_VL_ListEnt"
246#define VLListEntryEventN "AFS_VL_ListEntN"
247#define VLListAttributesEvent "AFS_VL_ListAttr"
248#define VLListAttributesNEvent "AFS_VL_ListAttrN"
249#define VLListAttributesN2Event "AFS_VL_ListAttrN2"
250#define VLLinkedListEvent "AFS_VL_LinkList"
251#define VLLinkedListNEvent "AFS_VL_LinkListN"
252#define VLGetStatsEvent "AFS_VL_GetStats"
253
254/* Next 2 block of lines on behalf of MR-AFS */
255#define RSStartEvent "AFS_RS_StartEnt"
256#define RSFinishEvent "AFS_RS_FnshEnt"
257#define RSExitEvent "AFS_RS_ExitEnt"
258#define RSChangeAddr "AFS_RS_ChgAddr"
259#define RSChangeName "AFS_RS_ChgName"
260#define RSNewEntry "AFS_RS_NewEntry"
261#define RSAddResidencyToServer "AFS_RS_AddRToS"
262#define RSRemoveResidencyFromServer "AFS_RS_RemRFS"
263#define RSNameToResId "AFS_RS_NameToId"
264#define RSResIdToName "AFS_RS_IdToName"
265#define RSDelete "AFS_RS_Delete"
266#define RSListMax "AFS_RS_ListMax"
267#define RSSetMax "AFS_RS_SetMax"
268#define RSListEntry "AFS_RS_ListEnt"
269#define RSSetFieldsEntry "AFS_RS_SetEnt"
270#define RSListElements "AFS_RS_ListElm"
271#define RSIsAHolderOf "AFS_RS_IsAHold"
272#define RSChooseResidency "AFS_RS_ChooseR"
273#define RSSwapAllocatedSpace "AFS_RS_SwapSpc"
274#define RSQuickCheck "AFS_RS_QuickChk"
275#define RSResidencyWipeableInfo "AFS_RS_WipeInfo"
276#define RSGetResidencySummary "AFS_RS_GetRSum"
277#define RSGetWiperFreeSpaceFraction "AFS_RS_GetFSpc"
278#define RSRegisterAddrs "AFS_RS_Regist"
279#define RSGetAddrsU "AFS_RS_GetAddrU"
280#define RSSetWeights "AFS_RS_SetWght"
281#define RSGetWeights "AFS_RS_GetWght"
282#define RSSetThresholds "AFS_RS_SetThrsh"
283#define RSGetThresholds "AFS_RS_GetThrsh"
284#define RSListResidencies "AFS_RS_ListRes"
285#define RSListServers "AFS_RS_ListServ"
286#define RSGetRandom "AFS_RS_GetRandm"
287
288#define REMIOExitEvent "AFS_RE_ExitEnt"
289#define SREMIOGetConnection "AFS_RE_GetConn"
290#define SREMIORemoteIncDec "AFS_RE_IncDec"
291#define SREMIOBulkIncDec "AFS_RE_BlkIDec"
292#define SREMIORemoteStat "AFS_RE_Stat"
293#define SREMIORemoteCloseIfOpen "AFS_RE_Close"
294#define SREMIORemoteOpen "AFS_RE_Open"
295#define SREMIORemoteSeek "AFS_RE_Seek"
296#define SREMIORemoteRead "AFS_RE_Read"
297#define SREMIORemoteWrite "AFS_RE_Write"
298#define SREMIORemoteListFiles "AFS_RE_LstFiles"
299#define SREMIORemoteTruncate "AFS_RE_Truncate"
300#define SREMIORemoteFsyncFile "AFS_RE_Fsync"
301#define SREMIORemoteImportFile "AFS_RE_Import"
302#define SREMIORemoteGetHSMdata "AFS_RE_HSMdata"
303#define SREMIOPrefetch "AFS_RE_Prefetch"
304
305#define TC_StartEvent "AFS_TC_Start"
306#define TC_LabelTapeEvent "AFS_TC_LabelTape"
307#define TC_PerformDumpEvent "AFS_TC_PerformDump"
308#define TC_PerformRestoreEvent "AFS_TC_PerformRestore"
309#define TC_ReadLabelEvent "AFS_TC_ReadLabel"
310#define TC_RestoreDbEvent "AFS_TC_RestoreDb"
311#define TC_SaveDbEvent "AFS_TC_SaveDb"
312#define TC_ScanDumpsEvent "AFS_TC_ScanDumps"
313#define TC_TCInfoEvent "AFS_TC_TCInfo"
314#define TC_DeleteDumpEvent "AFS_TC_DeleteDump"
315#define TC_GetStatusEvent "AFS_TC_GetStatus"
316#define TC_EndStatusEvent "AFS_TC_EndStatus"
317#define TC_RequestAbortEvent "AFS_TC_RequestAbort"
318#define TC_ScanStatusEvent "AFS_TC_ScanStatus"
319
320
321/* prototypes for audit functions */
322int osi_audit(char *audEvent, afs_int32 errCode, ...);
323int osi_auditU(struct rx_call *call, char *audEvent, int errCode, ...);
324int osi_audit_file(const char *filename);
325void osi_audit_init(void);
326int osi_audit_interface(const char *interface);
327void osi_audit_set_user_check(void *rock, int (*islocal)(void *rock, char *name, char *inst, char *cell));
328void audit_PrintStats(FILE *out);