Passing the user's name to the GetUserEffectivePermissionInfo() function returns a collection of SPRoleAssignments (the Groups" the user is a member of), each of which has a collection of SPRoleDefinition bindings" (the roles" or permission levels" applied to each group).