/// <summary> /// Prepares this Submission Queue Entry as an openat2. /// </summary> /// <param name="dfd">Directory file descriptor</param> /// <param name="path">Path to be opened</param> /// <param name="how">How pat should be opened</param> /// <param name="userData">User data that will be returned with the respective <see cref="Completion"/></param> /// <param name="options">Options for the handling of the prepared Submission Queue Entry</param> /// <param name="personality">The personality to impersonate for this submission</param> public void PrepareOpenAt2(int dfd, byte *path, open_how *how, ulong userData = 0, SubmissionOption options = SubmissionOption.None, ushort personality = 0) { var sqe = _sqe; unchecked { sqe->opcode = IORING_OP_OPENAT2; sqe->flags = (byte)options; sqe->fd = dfd; sqe->off = (ulong)how; sqe->addr = (ulong)path; sqe->len = SizeOf.open_how; sqe->user_data = userData; sqe->personality = personality; } }
public static int openat2(int dirfd, byte *pathname, open_how *how, size_t size) { return((int)syscall(__NR_openat2, dirfd, pathname, how, size)); }