aboutsummaryrefslogtreecommitdiff
path: root/sysv/ftok.go
blob: 94d73cfe50c016806af0ccd08820ac0115b3dba9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package sysv

import (
	"golang.org/x/sys/unix"
)

func Ftok(p string, id uint) (uint, error) {
	fss := &unix.Stat_t{}
	if err := unix.Stat(p, fss); err != nil {
		return 0, err
	}

	return uint((uint(fss.Ino) & 0xffff) |
		uint((fss.Dev&0xff)<<16) |
		((id & 0xff) << 24)), nil
}

Snix LLC Git Repository Holder Copyright(C) 2022 All Rights Reserved Email To Snix.IR