On 2 April 2015 at 13:16, John Eells <[email protected]> wrote: > Of course, other collisions are possible for which no prefixes are assigned. > FMIDs come to mind. For FMIDs, we always use H or E for base functions and > J or F for dependent functions but we have no way to help prevent > cross-vendor FMID naming conflicts.
The SMP/E z/OS Packaging Rules book has this to say about that: "The SYSMOD ID of a function is called the function modification identifier (FMID). The FMID is a 7 character identifier that needs to be unique to distinguish one product from another. One way to help ensure this uniqueness is to follow the naming convention tcccrrr, as described below: t - is an alphabetic character used to indicate type of function. Avoid the IBM valuse [sic] of A,B,C,D,E,F,H and J. ccc - is the product version code. You can help guarentee [sic] uniqueness by using the the [sic] component code. rrr - is the release value. This value should be alphanumeric and it should be unique within a product version." And the component code is exactly what can be registered with IBM. I've had my issues with IBM's lack of clarity and of following their own rules (and not just grandfathered ones) wrt names. For example, names in the /usr/lpp UNIX file hierarchy might be expected to follow the registered prefix rules, but instead there is a different set of registered (maybe) names in that space. As far as I understand, registering a prefix is intended to avoid clashes in: load module names messages FMIDs and related SMP/E elements (hence [email protected]) ENQ major names names in the RACF FACILITY class and probably others. But obviously no one can enforce this outside IBM, and it seems not much inside. It would also be nice if IBM would offer registrants the option to have their registered names published. Most of them -- IBM and ISV -- are pretty well known in any case, but having a formal list would be handy for when you encounter a module or message in a dump or on the console. On a lighter (virtual Friday) note, IBM developers have never been shy in their attempts to get carefully chosen names into their products' binaries. Some of the better known are the load modules IGDZILLA (SMS), GIMISEX (SMP/E), and an entire dodgy range of names under the CUN (Unicode services) prefix. To say nothing of the large Dilbert-themed set of macros and control blocks in JES2. Tony H. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
