The generic system profile is for use on systems that don't have native appletalk support. For those systems, it should still be possible to get the AFP/tcp portion of netatalk to still work. To do that, you will need the following information: 1) Endian order: If your machine does not specify the byte-order in netinet/in.h, you may need to modify netatalk/endian.h. 2) Integer sizes: If your machine does not define intX_t and u_intX_t, you will need to define them in netatalk/endian.h. To ease matters, you can specify _ISOC9X_SOURCE if you have inttypes.h, HAVE_64BIT_LONGS for 64 bit machines, or HAVE_32BIT_LONGS for 32 bit machines. NOTE: you should only use HAVE_32/64BIT_LONGS on machines that don't have a header file somewhere with the integer sizes. If you have a file with all the relevant bits, modify netatalk/endian.h to include it. 3) Quota/statfs information: You may be able to get away with either BSD4_4 or __svr4__, but that's unlikely if your os is some bizarre hybrid. If you don't have quota support, just specify NO_QUOTA_SUPPORT. In addition, if you'll need to specify the include file that gets statfs() (usually either USE_VFS_H or USE_STATFS_H although BSD4_4 and __svr4__ bring in a set of include files for that). Look at etc/afpd/quota.c, unix.c, and unix.h for more information. Finally, if you have a really old version of rquota, you can define USE_OLD_RQUOTA as well. 4) path information for lock/spool/printer files. you'll need to specify -D_PATH_LOCKDIR if include/atalk/paths.h doesn't have the correct paths specified for printer info and lock files. Beyond that, you should make sure that your operating system looks and smells like a Un*x POSIXy operating system. The only operating systems that netatalk supports that don't quite fit that description are sunos 4 and ultrix. If your operating system is peculiar, you may need to add in compatibility routines (libatalk/compat, include/atalk/compat.h) to make it look more like the others. If you would like native AppleTalk support, you will need kernel support for your operating system. Look at the Solaris STREAMS module if your operating system supports that framework. Otherwise, look at the ddp code in FreeBSD, NetBSD, or OpenBSD if your operating system is BSDish in nature. If your operating system looks different than these two cases, you'll have to roll your own implementation.