  We investigate what would be a correct definition of categorical completeness
for C*-categories and propose several variants of such a definition that make
the category of Hilbert modules over a C*-algebra a free (co)completion. We
extend results about generators and comparison theory known for W*-categories
with direct sums and splitting of symmetric projections to our "complete
C*-categories" and we give an abstract characterization of categories of
Hilbert modules over a C*-algebra or a C*-category as "complete C*-category
having enough absolutely compact morphisms (and a generator)". We then apply
this to study the category of Hilbert spaces over a topos showing that this is
an example of a complete C*-category. We prove a topos theoretic Green-Julg
theorem: The category of Hilbert spaces over a topos which is locally
decidable, separated and whose localic reflection is locally compact and
completely regular is a category of Hilbert modules over a C*-algebras attached
to the topos. All the results in this paper are proved constructively and hence
can be applied themselves internally to a topos. Moreover we give constructive
proof of some known classical results about C*-algebras and Hilbert modules.
