[ibis-macro] Re: Bird 186.3_Draft_1 (character length restrictions on file naming rules.

  • From: Mike LaBonte <mlabonte@xxxxxxxxxx>
  • To: Walter Katz <wkatz@xxxxxxxxxx>
  • Date: Wed, 19 Apr 2017 08:44:14 -0400 (EDT)

To add just a bit of technical background: the 256 character restriction is not 
imposed by NTFS , CIFS, SMB, nor any remote or network file system. It is 
imposed by the Windows API itself, and persists to this day, unless you use UNC 
"\\system\path" naming. It is commonly called a 260 character limit because the 
full path must be 256 or less after the leading "C:\" and trailing null byte 
are stripped off. 

When the Windows API is called, even with a relative path, at some point it 
will be resolved into a full absolute path, even if your code doesn't do that. 
Therefore we should not allow file names or relative paths in IBIS files to 
even approach 256 characters, to leave some overhead for the base directory 
path to combine with the relative path to form a full absolute path that does 
not exceed the limit. My observation is that users seem to like burying 
projects under many levels of nested directories, and headaches can ensue. 

Mike 


From: "Walter Katz" <wkatz@xxxxxxxxxx> 
To: "Bob Ross" <bob@xxxxxxxxxxxxxxxxx>, "IBIS-ATM" <ibis-macro@xxxxxxxxxxxxx> 
Sent: Wednesday, April 19, 2017 8:10:06 AM 
Subject: [ibis-macro] Re: Bird 186.3_Draft_1 (character length restrictions on 
file naming rules. 



Bob, 



Not so simple. Here is a specific example: 



xyz..ibis is in “C:/…../library/ibis/”. 

“C:/…../library/ibis/” is 128 characters long. 

The “system path name” of xyz.ibs is 128+7=135 characters long. 



In xyz.ibs is a file “<pkg folder/>xyz.ims”. 

<pkg folder/> is 100 characters long. 

“<pkg folder/>xyz.ims” is 100+7=107 characters long 



In xyz.ims is a file “<subckt folder/>xyz.s256p” 

< subckt folder /> is 100 characters long. 

“<pkg folder/>< subckt folder /> xyz. xyz.s256p” is 100+100+9=209 characters 
long relative to directory containing the .ibs file (“full path name”) 

“C:/…../library/ibis/”<pkg folder/>< subckt folder /> xyz.s256p” is 128+209=337 
characters long (“system path name”) 



Translating the following statement 

If there are “file names” specified in files referenced by the IBIS file, then 
the full path name relative to the directory containing the IBIS file shall not 
exceed one hundred and twenty eight (128) characters. 



For this example: 

If there are “file names” ( xyz.s256p ) specified in files referenced by the 
IBIS file ( “<pkg folder/>xyz.ims”. ) , then the full path name relative to the 
directory containing the IBIS file ( “<pkg folder/>< subckt folder /> xyz. 
xyz.s256p” = 209) shall not exceed one hundred and twenty eight (128) 
characters. 



I think the wording is precise and correct. To Arpads point I think we should 
define: 



“full path name” is the name of a file in the IBIS file and in any file 
referenced in the IBIS file including all of the folders in the file name 
between the directory containing the IBIS file. 



“system path name” is the name of the file in the IBIS file and in any file 
referenced in the IBIS file including all of the folders in the file name 
between the file system root directory and the file. 



Walter 




Walter Katz 

mailto:wkatz@xxxxxxxxxx ;| wkatz@xxxxxxxxxx ] 

Phone 303.449-2308 


Mobile 303.335-6156 


From: Bob Ross [mailto:bob@xxxxxxxxxxxxxxxxx] ;
Sent: Wednesday, April 19, 2017 12:34 AM 
To: wkatz@xxxxxxxxxx; 'IBIS-ATM' <ibis-macro@xxxxxxxxxxxxx> 
Subject: RE: [ibis-macro] Bird 186.3_Draft_1 (character length restrictions on 
file naming rules. 




Walter, 



“File name” is optional path plus base name plus optional extension. 



The base name plus (optional) extension is limited to 64 characters, 

Optional path is limited to 64 characters 



Why do we need the additional statement below, which is always satisifed? 

If there are “file names” specified in files referenced by the IBIS file, then 
the full path name relative to the directory containing the IBIS file shall not 
exceed one hundred and twenty eight (128) characters. 



Bob 




From: [ mailto:ibis-macro-bounce@xxxxxxxxxxxxx ;| 
ibis-macro-bounce@xxxxxxxxxxxxx ] [ [ mailto:ibis-macro-bounce@xxxxxxxxxxxxx ;| 
mailto:ibis-macro-bounce@xxxxxxxxxxxxx ] ] On Behalf Of Walter Katz ;
Sent: Tuesday, April 18, 2017 1:17 PM 
To: IBIS-ATM 
Subject: [ibis-macro] Bird 186.3_Draft_1 (character length restrictions on file 
naming rules. 




All, 



The new paragraph below in red was added to 186.3. Two other lines were deleted 
as a result. 



3. “file name” shall mean the name of the file, including the path relative to 
the directory containing the file that references the “file name”. A “file 
name” may not be a directory. The “file name” has three sections, “path name” 
(optional), “base name” and “extension name” (characters following the last “.” 
In “file name”). The number of character in the combined “base name” and 
“extension name” shall not exceed sixty-four (64) characters. The number of 
characters in “path name” shall not exceed sixty-four (64) characters. If there 
are “file names” specified in files referenced by the IBIS file, then the full 
path name relative to the directory containing the IBIS file shall not exceed 
one hundred and twenty eight (128) characters. 

The file name must use characters from the following set (space, “ ”, 0x20 is 
not included): 

a b c d e f g h i j k l m n o p q r s t u v w x y z 

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 

0 1 2 3 4 5 6 7 8 9 _ ^ $ ~ ! # % & - { } ) ( @ ‘ ` . / 

Note that files names in the Windows operating system are case insensitive and 
case preserving, while file names in Linux operating systems are case 
sensitive. When a [ https://en.wikipedia.org/wiki/Computer ;| computer ] [ 
https://en.wikipedia.org/wiki/File_system ;| file system ] stores file names, 
the computer may keep or discard [ https://en.wikipedia.org/wiki/Letter_case ;| 
case ] information. When the case is stored, it is called case preservation . 
File names in IBIS files should be case sensitive so that the IBIS file and the 
files it references will work properly on both Windows and Linux operating 
systems. The “/” character is used to delineate directories in a file name. The 
character sequence “../” is not permitted, except that it is permitted if 
generated by the EDA tool. Absolute or relative paths can be generated by the 
EDA tool in applications as needed. The EDA tool is responsible for making any 
operating system-specific adjustments (for example, replacing forward slashes 
"/" with backslashes "\") if necessary. 

The characters after the last “.” are considered the file name extension, where 
the extension shall not contain a “/”. There are places in this document that 
specify the file name extension for specific files types (e.g. .ibs, .pkg, and 
.ami). These extensions are case sensitive. 

A “file name” may not be a directory. 

Directory (path) names follow the same rules as file names, except that they 
shall be the name of a directory. 





Walter Katz 

mailto:wkatz@xxxxxxxxxx ;| wkatz@xxxxxxxxxx ] 

Phone 303.449-2308 

Mobile 303.335-6156 

Other related posts: