Get the SDK for all the details you might need
Or look at AROS icon.library sources. There you'll also find out about AOS 3.5 style icons (have a palette like NewIcons) and MOS/AROS/PowerIcons style PNG icons.
There's also an ANSI C tool (compilable/runnable anywhere) called ilbmtoicon in there which can convert 1 or 2 IFF ILBM images to an Amiga Icon, with the possibility to specify special icon attributes like tooltypes, default tool, stack size, in a text file which is examined during conversion.