opt
/
kaspersky
/
kav4fs
/
src
/
samba
/
include
/
oas
/
small
➕ New
📤 Upload
✎ Editing:
protocol_request.h
← Back
#ifndef KERNEL__OAS__SMALL__PROTOCOL_REQUEST_H #define KERNEL__OAS__SMALL__PROTOCOL_REQUEST_H #ifndef __KERNEL__ #include <stdio.h> #include <stdlib.h> #endif #include "oas/small/protocol.h" #include "oas/small/protocol_packer.h" /* functions to make the request to check a file/notify about file status to the monitor server allocates a packet that must be free after using */ static inline void FinitPackedBuffer(PackedBuffer* buf) { protocol_alloc.free(buf->data); buf->data = NULL; buf->length = 0; } static inline int MakeCheckFileReq(PackedBuffer* buf, uid_t uid, gid_t gid, pid_t pid, u_short queue_id, const char* filename, enum FileOpType file_type, int flags, dev_t dev, ino_t ino) { CheckFileData* packet = PackCheckFileReq(uid, gid, pid, queue_id, filename, file_type, flags, dev, ino); if (!packet) return 0; FillPackedBuffer((ProtocolData*)packet, buf); return 1; } static inline int MakeCheckFileReq2(PackedBuffer* buf, int32_t ver, uid_t uid, gid_t gid, pid_t pid, u_short queue_id, const char* filename, enum FileOpType file_op_type, int flags, dev_t dev, ino_t ino, time_t mtime, int64_t size, uid_t owner_uid, u_int32_t file_mode, int64_t f_type, const char* fstypename) { CheckFileData2* packet = PackCheckFileReq2( (u_int8_t)ver, uid, gid, pid, queue_id, filename, file_op_type, flags, dev, ino, mtime, size, owner_uid, file_mode, f_type, fstypename); if (!packet) return 0; FillPackedBuffer((ProtocolData*)packet, buf); return 1; } static inline PackedBuffer MakeCheckFileReqHost( uid_t uid, gid_t gid, pid_t pid, u_short queue_id, const char* filename, enum FileOpType file_type, int flags, dev_t dev, ino_t ino, const char* host) { CheckFileData* packet = PackCheckFileReqHost(uid, gid, pid, queue_id, filename, file_type, flags, dev, ino, host); PackedBuffer buf; FillPackedBuffer((ProtocolData*)packet, &buf); return buf; } static inline int MakeNotifyFileReq(PackedBuffer* buf, const char* filename, enum FileNotifyType file_type, dev_t dev, ino_t ino) { NotifyFileData* packet = PackNotifyFileReq(filename, file_type, dev, ino); if (!packet) return 0; FillPackedBuffer((ProtocolData*)packet, buf); return 1; } static inline int MakeNotifyFileReq2(PackedBuffer* buf, int32_t ver, const char* filename, enum FileNotifyType file_type, dev_t dev, ino_t ino) { NotifyFileData* packet = PackNotifyFileReq2((u_int8_t)ver, filename, file_type, dev, ino); if (!packet) return 0; FillPackedBuffer((ProtocolData*)packet, buf); return 1; } static inline PackedBuffer MakeSambaConnectReq(u_int16_t queue_id, const char* user, const char* ip, const char* host) { SambaConnectData* packet = PackSambaConnectReq(queue_id, user, ip, host); PackedBuffer buf; FillPackedBuffer((ProtocolData*)packet, &buf); return buf; } static inline PackedBuffer MakeCheckFileResultReq(u_int16_t queue_id, u_int8_t status) { CheckFileResultData* packet = PackCheckFileResultReq(queue_id, (enum FileAccessType)status); PackedBuffer buf; FillPackedBuffer((ProtocolData*)packet, &buf); return buf; } static inline int MakeCheckSignReq(PackedBuffer* buf, uid_t uid, gid_t gid, u_int16_t queue_id, const char* filename) { CheckFileData* packet = PackCheckSignReq(uid, gid, queue_id, filename); if (!packet) return 0; FillPackedBuffer((ProtocolData*)packet, buf); return 1; } static inline int MakeCheckSignReq2(PackedBuffer* buf, int32_t ver, uid_t uid, gid_t gid, u_int16_t queue_id, const char* filename) { CheckFileData* packet = PackCheckSignReq2((u_int8_t)ver, uid, gid, queue_id, filename); if (!packet) return 0; FillPackedBuffer((ProtocolData*)packet, buf); return 1; } #endif // KERNEL__OAS__SMALL__PROTOCOL_REQUEST_H
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel