[Mono-list] How to get linux constants like PATH_MAX into mono
Jonathan Pryor
jonpryor at vt.edu
Mon Apr 20 14:32:24 EDT 2009
On Sun, 2009-04-19 at 12:51 -0700, Heertsch wrote:
> is there a way to get the value auf PATH_MAX (linux constant for lenght of a
> pathname in bytes) into c# code?
I would suggest not using any such mechanism, if possible, as not all
platforms have an actual filename limit (e.g. GNU HURD). Even for
platforms with such a limit, the limit may be limited by the filesystem
itself or application compatibility (e.g. ISO has a 180 character path
limit [0] while ext3 has a 4096 character path limit, while Windows has
a 260 character upper limit regardless of filesystem due to application
compatibility restraints).
Consequently, it's usually preferable to not hardcode such a limit.
In the event that you must have a limit, under Linux you can use
Syscall.pathconf() [0] with PathconfName._PC_PATH_MAX:
long maxPathLen =
Syscall.pathconf("/", PathconfName._PC_PATH_MAX);
- Jon
[0] http://www.go-mono.com/docs/index.aspx?link=M%3aMono.Unix.Native.Syscall.pathconf(System.String%2cMono.Unix.Native.PathconfName)
More information about the Mono-list
mailing list