header file and register configuration settinggs for MSD usb implementation using pic18f4550
Microchip has available their Microchip Libraries for Applications (MLA), which includes sample code for the PIC16, PIC18, PIC24 and dsPIC33 (the MLA used to also include the PIC32, but that now has a different library called MPLAB Harmony).  The MLA library includes code for graphics, crypto, file I/O and USB.

I have an older version on my desktop, but looking through the directories I see that it includes several versions of USB HID: custom, digitizer, joystick, keyboard, mouse, and UPS. There is code for, among others, the PIC18F46J50, PIC18F47J53 and PIC18F87J50.  If the latest version doesn't include the PIC18F4550 you can probably adapt one of the others.  For the custom HID application, the library also includes Visual C++ code (2005 Express edition) for the Windows side.

So you will get a lot more than just the header files etc, you will have source code for complete, running applications that you can adapt for your own use.

The MLA also includes mass storage device code for internal flash, SD card data logger, and SD card reader applications.  Code for the same three PIC18s is included.

I have an Explorer 16 board along with the USB and SD card accessories, and the PIC24/PIC32 versions of the mass storage firmware compiled and ran "right out of the box" without any modifications.  I was then able to merge their code into the code already running on my custom PCB with very little effort.