⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libpq-fs.h

📁 关系型数据库 Postgresql 6.5.2
💻 H
字号:
/*------------------------------------------------------------------------- * * libpq-fs.h *	  definitions for using Inversion file system routines * * * Copyright (c) 1994, Regents of the University of California * * $Id: libpq-fs.h,v 1.8 1999/02/13 23:21:35 momjian Exp $ * *------------------------------------------------------------------------- */#ifndef LIBPQ_FS_H#define LIBPQ_FS_H/* UNIX compatibility junk.  This should be in all systems' include files,   but this is not always the case. */#ifndef MAXNAMLEN#define MAXNAMLEN 255#endif	 /* MAXNAMLEN */struct pgdirent{	unsigned long d_ino;	unsigned short d_namlen;	char		d_name[MAXNAMLEN + 1];};/* * SysV struct dirent doesn't have d_namlen. * This counts on d_name being last, which is moderately safe (ha) since * it's the variable-length part of the structure. */#ifdef SYSV_DIRENT#define D_NAMLEN(dp) \		((dp)->d_reclen - offsetof(struct dirent, d_name[0]))#else							/* SYSV_DIRENT */#define D_NAMLEN(dp) \		((dp)->d_namlen)#endif	 /* SYSV_DIRENT *//* for stat(2) */#ifndef S_IRUSR/* file modes */#define S_IRWXU 00700			/* read, write, execute: owner */#define S_IRUSR 00400			/* read permission: owner */#define S_IWUSR 00200			/* write permission: owner */#define S_IXUSR 00100			/* execute permission: owner */#define S_IRWXG 00070			/* read, write, execute: group */#define S_IRGRP 00040			/* read permission: group */#define S_IWGRP 00020			/* write permission: group */#define S_IXGRP 00010			/* execute permission: group */#define S_IRWXO 00007			/* read, write, execute: other */#define S_IROTH 00004			/* read permission: other */#define S_IWOTH 00002			/* write permission: other */#define S_IXOTH 00001			/* execute permission: other */#define _S_IFMT  0170000		/* type of file; sync with S_IFMT */#define _S_IFBLK 0060000		/* block special; sync with S_IFBLK */#define _S_IFCHR 0020000		/* character special sync with S_IFCHR */#define _S_IFDIR 0040000		/* directory; sync with S_IFDIR */#define _S_IFIFO 0010000		/* FIFO - named pipe; sync with S_IFIFO */#define _S_IFREG 0100000		/* regular; sync with S_IFREG */#define S_IFDIR _S_IFDIR#define S_IFREG _S_IFREG#define S_ISDIR( mode )			(((mode) & _S_IFMT) == _S_IFDIR)#endif	 /* S_IRUSR *//* * Inversion doesn't have links. */#ifndef S_ISLNK#define S_ISLNK(x) 0#endif/* *	Flags for inversion file system large objects.	Normally, creat() *	takes mode arguments, but we don't use them in inversion, since *	you get postgres protections.  Instead, we use the low sixteen bits *	of the integer mode argument to store the number of the storage *	manager to be used, and the high sixteen bits for flags. */#define INV_WRITE		0x00020000#define INV_READ		0x00040000/* Error values for p_errno */#define PEPERM			 1		/* Not owner */#define PENOENT			 2		/* No such file or directory */#define PEACCES			 13		/* Permission denied */#define PEEXIST			 17		/* File exists */#define PENOTDIR		 20		/* Not a directory */#define PEISDIR			 21		/* Is a directory */#define PEINVAL			 22		/* Invalid argument */#define PENAMETOOLONG	 63		/* File name too long */#define PENOTEMPTY		 66		/* Directory not empty */#define PEPGIO			 99		/* postgres backend had problems */#endif	 /* LIBPQ_FS_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -