func (s *SymlinkInode) SetPerm(perm os.FileMode) {
	s.perm = perm & os.ModePerm
}
SetPerm sets the Unix permissions for this inode
package iso9660
import (
	"errors"
	"os"
	"time"
	"github.com/NVIDIA/vdisc/pkg/iso9660/rrip"
	"github.com/NVIDIA/vdisc/pkg/iso9660/susp"
)
type SymlinkInode struct {
	ino      InodeNumber
	perm     os.FileMode
	created  time.Time
	modified time.Time
	parent   *DirectoryInode
	target   string
}
func NewSymlinkInode(ia InodeAllocator, target string) (*SymlinkInode, error) {
	ino, err := ia.Next()
	if err != nil {
		return nil, err
	}
	if len(target) < 1 {
		return nil, errors.New("symlink target cannot be empty")
	}
	return &SymlinkInode{
		ino:      ino,
		perm:     0777,
		created:  time.Unix(0, 0).UTC(),
		modified: time.Unix(0, 0).UTC(),
		target:   target,
	}, nil
}
func (s *SymlinkInode) Type() InodeType {
	return InodeTypeSymlink
}
func (s *SymlinkInode) InodeNumber() InodeNumber {
	return s.ino
}
func (s *SymlinkInode) Perm() os.FileMode {
	return s.perm
}